题解:https://blog.csdn.net/five0918/article/details/52673653
题目:https://leetcode-cn.com/problems/reverse-integer/
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
思路:
- 先将有符号整数反转:
while(x!=0){ result = result * 10 + x%10; x = x /10; }
- 然后比较反转后的result是否溢出(int 32 位的有符号整数,则其数值范围为 [−231, 231 − 1])
class Solution {
public int reverse(int x) {
double result = 0.0;
while(x!=0){
result = result * 10 + x%10;
x = x /10;
}
if (result > Integer.MAX_VALUE || result < Integer.MIN_VALUE){
result = 0.0;
}
return (int)result;
}
}