Reverse Integer问题

来源:互联网 发布:复杂网络及其应用pdf 编辑:程序博客网 时间:2024/06/14 03:41

      老生常谈的反转问题。leetcode提出的具体要求是:

    

Reverse digits of an integer.

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

  单单只看这个是十分简单的,但是他提出了进一步的思考或者一些可能会被忽略的漏洞。其中一个是数值超过边界的问题。java中的int类型范围是从-2147483548到2147483547之间。超过这个范围的数在输入时就会被报错,但是翻转后要是超出了这个范围,就是我们需要考虑的事情了。 

 代码总体比较简单,如下:

 public class Solution {
    public int reverse(int x) {
        int res=0;
   
        while(x!=0)
        {
        res = res*10+x%10;
        x=x/10;
        if(Math.abs(res)>214748364&&x!=0)         //判断翻转后的值是否会越界而进行判断。
        {
        res = 0;
        break;
        }
        }
    return res;
    }
}

0 0
原创粉丝点击