Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ReverseInteger {
- public static void main(String[] args) {
- System.out.println(reverse(123));
- System.out.println(reverse(-123));
- }
- /**
- *
- * @param number
- * @return
- */
- static int reverse(int number) {
- boolean neg = false ;
- int res = 0 ;
- if( number < 0 ) { neg = true ; number = number * -1; }
- int pos = 1 ;
- while (number > 0) {
- res = res * 10;
- int n = getPosition(number, pos) ;
- number -= n * Math.pow(10, pos - 1 ) ;
- pos ++ ;
- res += n;
- }
- if (neg) return res * -1 ;
- return res;
- }
- /**
- * the formula (number / 10^(n-1)) % 10 enables us to get
- * number at specific integer
- *
- * @param number the current number
- * @param pos the position of interest
- * @return the integer at specific integer
- */
- static int getPosition(int number, int pos) {
- return (int) ( number / Math.pow(10, pos - 1) % 10);
- }
- }
Add Comment
Please, Sign In to add comment