413. Reverse Integer【LintCode java】

Description

Reverse digits of an integer. Returns 0 when the reversed integer overflows (signed 32-bit integer).

Example

Given x = 123, return 321

Given x = -123, return -321

解题:注意别溢出即可,所以结果用long型变量保存,最后返回的时候强转成int型。代码如下:

public class Solution {
    /**
     * @param n: the integer to be reversed
     * @return: the reversed integer
     */
    public int reverseInteger(int n) {
        // write your code here
        long res = 0;
        boolean isNative = true;
        while(n != 0){
            res = res * 10 + n % 10;
            n = n / 10;
           if(res > Math.pow(2, 31) || res < -1 * Math.pow(2, 31))
                return 0;
        }
        return (int)res;
    }
}

Math.pow(2, 31)也可以写成 Integer.MAX_VALUE,-1 * Math.pow(2, 31) 写成 Integer.MIN_VALUE

猜你喜欢

转载自www.cnblogs.com/phdeblog/p/9329050.html