Luke Skywalker gave Chewbacca an integer number x. Chewbacca isn’t good at numbers but he loves inverting digits in them. Inverting digit t means replacing it with digit 9 - t.
Help Chewbacca to transform the initial number x to the minimum possible positive number by inverting some (possibly, zero) digits. The decimal representation of the final number shouldn’t start with a zero.
Input Format
The first line contains a single integer x (1 ≤ x ≤ 10^18) — the number that Luke Skywalker gave to Chewbacca.
Constraints
x <= 100000000000000000
Output Format
Print the minimum possible positive number that Chewbacca can obtain after inverting some digits. The number shouldn’t contain leading zeroes.
Sample Input
4545
Sample Output
4444
my code:-
import java.util.*;
public class Main {
public static void main(String args[]) {
// Your Code Here
// TODO Auto-generated method stub
Scanner t=new Scanner(System.in);
long n=t.nextLong();
long d=n;
long x=0;
long rem=0;
long rev=0;
while(d!=0)
{
rem=d%10;
x=9-rem;
if(x<rem)
{
rev=rev*10+x;
}
else if (x>rem)
{
rev=rev*10+rem;
}
else if(x==0)
{
}
d=d/10;
}
long m=rev;
long rem2=0;
long rev2=0;
while(m!=0)
{
rem2=m%10;
rev2=rev2*10+rem2;
m=m/10;
}
System.out.println(rev2);
}
}
issue is i dont know how to make it work for , numbers starting with 9, please explain
ex:- 9999 should give 9000 output