1. 程式人生 > >leetcode 7反轉整數

leetcode 7反轉整數

7. 反轉整數

隨機一題

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

示例 1:

輸入:123

輸出:321

 示例 2:

輸入:-123

輸出:-321

示例 3:

輸入:120

輸出:21

注意:

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

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

假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 [−231,  231 − 1]。根據這個假設,如果反轉後的整數溢位,則返回 0。
思想:不斷的➗10,得到餘數,再加餘數不斷乘10,重點在於如何表示範圍,至今沒有想到更好的辦法。
 

class Solution {
public:
    int reverse(int x) {
        long lreverse=0;
        int tmp=abs(x);
        while(tmp>0)
        {
            lreverse=lreverse*10+tmp%10;
            if(lreverse>2147483648)
            {
                return 0;
            }
            tmp=tmp/10;
        }
        return (int) (x>0?lreverse:-lreverse);            
        
    }
};