首页 > 其他 > 详细

Reverse Integer -- LeetCode

时间:2014-02-28 01:34:27      阅读:494      评论:0      收藏:0      [点我收藏+]
原题链接: http://oj.leetcode.com/problems/reverse-integer/ 

这道题思路非常简单,就是按照数字位反转过来就可以,基本数字操作。但是这种题的考察重点并不在于问题本身,越是简单的题目越要注意细节,一般来说整数的处理问题要注意的有两点,一点是符号,另一点是整数越界问题。代码如下: 

public int reverse(int x) {
    if(x==Integer.MIN_VALUE)
        return Integer.MIN_VALUE;
    int num = Math.abs(x);
    int res = 0;
    while(num!=0)
    {
        if(res>(Integer.MAX_VALUE-num%10)/10)
            return x>0?Integer.MAX_VALUE:Integer.MIN_VALUE;
        res = res*10+num%10;
        num /= 10;
    }
    return x>0?res:-res;
}
上面的代码为了后面方便处理,先将数字转为正数。注意Integer.MIN_VALUE的绝对值是比Integer.MAX_VALUE大1的,所以经常要单独处理。如果不先转为正数也可以,只是在后面要对符号进行一下判断。这种题目考察的就是数字的基本处理,面试的时候尽量不能错,而且对于corner case要尽量进行考虑,一般来说都是面试的第一道门槛。

Reverse Integer -- LeetCode,布布扣,bubuko.com

Reverse Integer -- LeetCode

原文:http://blog.csdn.net/linhuanmars/article/details/20024837

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!