Given a 32-bit signed integer, reverse digits of an integer.

Example 1:

Input: 123 Output: 321 Example 2:

Input: -123 Output: -321 Example 3:

Input: 120 Output: 21 Note: Assume we are dealing with an environment
which could only store integers within the 32-bit signed integer
range: [−231, 231 − 1]. For the purpose of this problem, assume that
your function returns 0 when the reversed integer overflows.

注意越界问题

public int reverse(int x) {
        long t=x;
        if(t<0) t=-t;
        long nt=Long.parseLong(new StringBuilder(t+"").reverse().toString());
        if(x<0) nt=-nt;
        if(nt>Integer.MAX_VALUE || nt<Integer.MIN_VALUE) return 0;
        return (int)nt;
}

程浩
21 声望2 粉丝