领扣LintCode算法问题答案-413. 反转整数

领扣LintCode算法问题答案-413. 反转整数

目录

  • 413. 反转整数
  • 鸣谢

413. 反转整数

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

样例 1:

输入:123
输出:321

样例 2:

输入:-123
输出:-321

public class Solution {
     
    /**
     * @param n: the integer to be reversed
     * @return: the reversed integer
     */
    public int reverseInteger(int n) {
     
        // write your code here
        if (n < 0) {
     
            StringBuilder sb = new StringBuilder();
            sb.append(String.valueOf(n).substring(1));
            sb.reverse();
            String nStr = '-' + sb.toString();
            long l = Long.parseLong(nStr);
            if (l < Integer.MIN_VALUE) {
     
                return 0;
            }
            return (int) l;
        } else {
     
            StringBuilder sb = new StringBuilder();
            sb.append(n);
            sb.reverse();
            String nStr = sb.toString();
            long l = Long.parseLong(nStr);
            if (l > Integer.MAX_VALUE) {
     
                return 0;
            }
            return (int) l;
        }
    }
}

原题链接点这里

鸣谢

非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。
欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。

你可能感兴趣的:(算法,算法)