leetcode 7反轉整數
阿新 • • 發佈:2019-01-29
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); } };