[LeetCode-Easy]007. 颠倒整数

2018-04-01  本文已影响0人  AceCream佳

题目:

给定一个范围为 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));

}

}

上一篇下一篇

猜你喜欢

热点阅读