LeetCode--Reverse Integer

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

问题描述: 将整数个十百位反序输出。

注意特殊情况:

1)溢出情况:To check for overflow/underflow, we could check if ret > 214748364 or ret < –214748364 before multiplying by 10. On the other hand, we do not need to check if ret == 214748364, why?

2)正数、负数除10 余10的情况;

3)10,100这样的数反序时可不可以用一般的程序处理。

代码:

public class Solution {
    public int reverse(int x) {
        int max = Integer.MAX_VALUE;
        int min = Integer.MIN_VALUE;
        long res = 0;
        while(x!=0){
            int n = x%10;
            res = res *10 + n;
            x = x/10;
            if(res>max || res<min)
                return 0;
        }
        int res1 = (int) res;
        return res1;
    }
}

 

posted @ 2015-07-04 17:47  江湖小妞  阅读(132)  评论(0编辑  收藏  举报