7、Reverse Integer

Reverse digits of an integer.

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

click to show spoilers.

Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

要把int转化为long,否则会出现:

Submission Result: Wrong Answer More Details 

Input:1534236469
Output:1056389759
Expected:0
 
要判断是否溢出这个问题,否则会出现:
 
 Input: 1534236469
Output: 9646324351
Expected: 0
 
最终提交成功
class Solution {
public:
    int reverse(int x) {
        long x1,y = 0;
        if(x<0) x1 = (-1) * x;
        else x1 = x;
        while(1){
            long n = x1 % 10;  //最低位
            y = y * 10 + n;    
            x1 /= 10;
            if(x1 == 0) break;
        }  
        if(y > 2147483648 || y < -2147483648){    //判断有没有溢出
            return 0; 
        }
        if(x<0) y = (-1)* y;
        return y;
    }
};

 

 

 

posted @ 2017-10-29 20:01  hozhangel  阅读(307)  评论(0编辑  收藏  举报