题目详情
Given a 32-bit signed integer, reverse digits of an integer.题目要求我们给出一个数的翻转数
Example 1:
Input: 123
Output: 321
Example 2:
Input: -123
Output: -321
Example 3:
Input: 120
Output: 21
想法
- 这道题主要的坑就是在于一个int数值的输入,在进行翻转操作之后,不一定还符合int的范围,可能会造成异常。
- 我们可以通过每次获得整数除10的余数,来确定当前整数的最后一位。
解法
public int reverse(int x) {
long res = 0;
while(x != 0){
int tail = x % 10;
res = res*10 + tail;
if(res > Integer.MAX_VALUE || res < Integer.MIN_VALUE){
return 0;
}
x = x/10;
}
return (int)res;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。