/** @lc app=leetcode.cn id=7 lang=java** [7] 整数反转** https://leetcode-cn.com/problems/reverse-integer/description/** algorithms* Easy (31.35%)* Total Accepted: 77.9K* Total Submissions: 248.5K* Testcase Example: '123'** 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。** 示例 1:** 输入: 123* 输出: 321*** 示例 2:** 输入: -123* 输出: -321*** 示例 3:** 输入: 120* 输出: 21*** 注意:** 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。**/class Solution {private static final Long LONG_MAX_INT = Long.valueOf(Integer.MAX_VALUE);private static final Long LONG_MIN_INT = Long.valueOf(Integer.MIN_VALUE);public int reverse(int x) {StringBuilder sb = new StringBuilder(String.valueOf(x));if (x < 0) {sb.delete(0, 1);sb.append('-');}sb.reverse();Long num = Long.valueOf(sb.toString());if (num.compareTo(LONG_MIN_INT) < 0 || num.compareTo(LONG_MAX_INT) > 0) {return 0;}return num.intValue();}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。