leetcode-7. Reverse Integer

7. Reverse Integer

Reverse digits of an integer.

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

此题题意为反转一个整数个各个数字,比如123,翻转后为321

java代码:

public class Solution {
    public int reverse(int x) {
        long result =0;
        while(x != 0)
        {
            result = (result*10) + (x%10);
            x = x/10;
        }
        return (int)result;
        
        
    }
}

  但是上面输入的x的值太大返回值就会越界,也就是说没有处理x值太大的情况,下面是处理过后这种异常的代码

java代码:

public class Solution {
    public int reverse(int x) {
        int rev=0;
        int tail=0;
        int newrev=0;
        while(x!=0){
            tail=x%10;
            newrev=rev*10+tail;
            if((newrev-tail)/10!=rev)
            return 0;
            rev=newrev;
            x=x/10;
        }
        return rev;
    }
}

  如果存在越界,那么newrev就不会等于之前的那个值了。不需要flag之类的判断,

posted @ 2017-03-18 23:40  世人谓我恋长安  阅读(129)  评论(0编辑  收藏  举报