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;在最後返回的時候需要進行一下強制類型轉換。