反转整数

描述

将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数)。

样例
给定 x = 123,返回 321
给定 x = -123,返回 -321

考察点
  • 反转
  • 使用long存储结果,判断是否大于最大int值
答案
public int reverseInteger(int n) {
    // Write your code here
    List<Integer> list = new ArrayList<>();
    while (n / 10 != 0) {
        list.add(n % 10);
        n = n / 10;
    }
    list.add(n);
    long result = 0L;

    for (int i = 0; i < list.size(); i++) {
        if (result * 10 + list.get(i) > Integer.MAX_VALUE) {
            result = 0;
            break;
        }
        result = result * 10 + list.get(i);
    }


    return (int) result;
}