leetcode-7-整数反转

算法

Posted by berlinfog on April 8, 2019

题目

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123 输出: 321

示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

答案

关键一:int倒过来

while(x!=0)
        {
            reverse=reverse*10+x%10;
            x/=10;
        }

关键二:int的最大最小在JAVA里的字符

reverse<Integer.MIN_VALUE||reverse>Integer.MAX_VALUE

最后答案

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