1. 程式人生 > >[leetcode]反轉整數(Reverse Integer)

[leetcode]反轉整數(Reverse Integer)

反轉整數(Reverse Integer)

給定一個 32 位有符號整數,將整數中的數字進行反轉。

示例 1:

輸入: 123
輸出: 321

 示例 2:

輸入: -123
輸出: -321

示例 3:

輸入: 120
輸出: 21

注意:

假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 [−2^31,  2^31 − 1]。根據這個假設,如果反轉後的整數溢位,則返回 0。

題解:

class Solution {
public:
    int reverse(int x) {
         int re = 0;
        while(x)
        {
            int a=re*10+x%10;
            if(a/10!=re)
            return 0;
            re=a;
            x=x/10;
        }
        return re;
        
    }
};

a用來記錄最後一位數字,每次將a的值傳到re上,然後x/10去除最後一位,繼續迴圈就可以了,如果a/10和原來的re不相等了,肯定是因為他溢位了,返回0就可以了。