码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 7 Reverse Integer

时间:2020-03-18 23:36:39      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:env   rev   符号   returns   his   tor   eve   错误   input   

题目:

Given a 32-bit signed integer, reverse digits of an integer.

Example 1:

Input: 123
Output: 321

Example 2:

Input: -123
Output: -321

Example 3:

Input: 120
Output: 21

Note:
Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231,  231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

 

注意Note里的内容。反转前的范围为 [−231,  231 − 1],即 [-2147483648, 247483647],输入的值一定在这个范围内,但反转后可能超出这个范围,故需要用long保存结果,避免溢出得到错误结果,并判断反转后的值是否超出范围,超出则返回0。

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

PS:不需要对输入x的符号进行判断分别处理,因为java的取模得到的结果符号与被除数相同。

LeetCode 7 Reverse Integer

标签:env   rev   符号   returns   his   tor   eve   错误   input   

原文地址:https://www.cnblogs.com/trymorel/p/12521160.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!