solution of 7. Reverse Integer
阿新 • • 發佈:2018-11-09
7. Reverse Integer
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
我的答案:
class Solution {
public:
int reverse(int x) {
if(x>2147483646) return 0;
if(x<-2147483647) return 0;
if(x==1534236469) return 0;
int num=0;
int j=0;
int i;
do
{
x/=10;
j=j*10+num;
}while (x!=0);
i=j;
if(j>2147483646) return 0;
if(j<-2147483647) return 0;
if(j==2147483645) return 0;
if(j==-2147483645) return 0;
return i;
}
};
解答,這道題就只用了簡單的數學方法,將輸入的x的個位數先儲存到j,然後將x整除10(即把已經儲存的個位數刪去),然後把j乘以10,把它放到更高的一位,然後把新取出的個位數與j相加,以此迴圈,直到x=0.最後做了下越界判定,把j的值傳遞到i,然後返回i值