Reverse digits of an integer. Returns 0 when the reversed integer overflows (signed 32-bit integer).
Example
Given x = 123
, return 321
Given x = -123
, return -321
先给出解答:
public int reverseInteger(int num ) {
// Write your code here
long reverseNum = 0;
while(num!=0){
int digit = num%10;
reverseNum = reverseNum*10 + digit;
num = num/10;
}
if(reverseNum>Integer.MAX_VALUE||reverseNum<Integer.MIN_VALUE)return 0;
return (int)reverseNum;
}
说下本题的坑:
反转之后的数字可能存在越界问题,所以注意reverseNum的数据类型是long;在最后返回的时候需要进行一下强制类型转换。