题目
描述
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
代码语言:javascript复制输入: 123
输出: 321
示例 2:
代码语言:javascript复制输入: -123
输出: -321
示例 2:
代码语言:javascript复制输入: 120
输出: 21
解答
思路
利用StringBuilder的reverse方法,一步搞定。
代码
代码语言:javascript复制class Solution {
public int reverse(int x) {
boolean b = x >= 0;
StringBuilder sb = new StringBuilder(String.valueOf(x));
long l = b ? Long.valueOf(sb.reverse().toString()) : Long.valueOf(sb.deleteCharAt(0).reverse().toString());
if (l > Integer.MAX_VALUE || l < Integer.MIN_VALUE) {
return 0;
} else {
return b ? Integer.valueOf(sb.toString()) : 0 - Integer.valueOf(sb.toString());
}
}
}