抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

题目描述

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−2^31,  2^31 − 1] ,就返回 0。

假设环境不允许存储 64 位整数(有符号或无符号)。

实例

示例 1:

输入:x = 123
输出:321
示例 2:

输入:x = -123
输出:-321
示例 3:

输入:x = 120
输出:21
示例 4:

输入:x = 0
输出:0

解题方法

循环逆序输出

1
2
3
4
5
6
7
8
9
10
class Solution {
public int reverse(int x) {
long n = 0;
while (x != 0) {
n = n * 10 + x % 10;
x = x / 10;
}
return (int) n == n ? (int) n : 0;
}
}

转字符串在转回

翻转数字用字符串(耗时)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public int reverse(int x) {
String xString = Integer.toString(x);
String string = xString;
int flag = 1;
if (x < 0) {
flag = -1;
string = xString.substring(1);
}
try {
return Integer.valueOf((new StringBuilder(string)).reverse().toString()) * flag;
} catch (Exception e) {
return 0;
}
}

用户交流区

温馨提示: 遵纪守法, 友善评论!





津ICP备19009605号

WordCount24k