1. 程式人生 > >solution of 7. Reverse Integer

solution of 7. Reverse Integer

7. Reverse Integer

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

click to show spoilers.

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
        {
       

num=x%10;
        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值