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

Reverse Integer Leetcode

时间:2017-01-20 09:45:38      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:amp   valueof   try   end   append   new   exception   dig   uil   

Reverse digits of an integer.

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

这道题要考虑反转之后overflow的问题,感觉我的写法很非主流啊。

public class Solution {
    public int reverse(int x) {
        String str = String.valueOf(x);
        StringBuilder s;
        if (x < 0) {
            s = new StringBuilder(str.substring(1, str.length()));
            s.append("-");
        } else {
            s = new StringBuilder(str);
        }
        str = s.reverse().toString();
        int newX = 0;
        try {
            newX = Integer.valueOf(str);
        } catch(Exception e) {
        }
        
        return newX;
    }
}

还是用主流写法又写了一下

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

 

Reverse Integer Leetcode

标签:amp   valueof   try   end   append   new   exception   dig   uil   

原文地址:http://www.cnblogs.com/aprilyang/p/6321821.html

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