美文网首页
[LeetCode-Easy]007. 颠倒整数

[LeetCode-Easy]007. 颠倒整数

作者: AceCream佳 | 来源:发表于2018-04-01 11:57 被阅读0次

    题目:

    给定一个范围为 32 位 int 的整数,将其颠倒。
    例 1:
    输入: 123
    输出: 321
    例 2:
    输入: -123
    输出: -321
    例 3:
    输入: 120
    输出: 21

    思路:

    用StringBuffer也很基础了,但是有个问题是int太大了容易溢出。问题里说溢出则一律取0,那就很简单了。写个异常捕获,出NumberFormatException异常固定输出0。

    代码:

    public class Solution007 {

    public static int reverse(int x) {
        int result;
        StringBuffer sb = new StringBuffer();
        sb.append(x);
        sb.reverse();
        try {
            if (x>=0){
                    result = Integer.valueOf(sb.toString());
            }else {
                result = Integer.parseInt(sb.substring(0,sb.length()-1).toString());
                result = 0 - result;
            }
        }catch (NumberFormatException e){
            result = 0;
        }
        return result;
    }
    
    
    public static void main(String[] args) {
        System.out.println(reverse(1534236469));
    
    }
    

    }

    相关文章

      网友评论

          本文标题:[LeetCode-Easy]007. 颠倒整数

          本文链接:https://www.haomeiwen.com/subject/cwvocftx.html