LeetCode:反转整数

题目链接: https://leetcode-cn.com/problems/reverse-integer/description/

给定一个 32 位有符号整数,将整数中的数字进行反转。

示例 1:

输入: 123
输出: 321

 示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

注意:

假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231,  231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。

class Solution {
    public int getReverse(int x){
         int sum=0;
         while(x>0){
             int temp=x%10;
             if(sum>Integer.MAX_VALUE/10){ //溢出
                 return 0;
             }
             sum=sum*10+temp;
             x=x/10;
         }
         return sum;
    }
    public int reverse(int x) {   
         if(x<0){
             x=-x;
             return -getReverse(x);
         }else{
             return getReverse(x);
         }
    }
}

猜你喜欢

转载自blog.csdn.net/smile__dream/article/details/81878515