Leetcode 7 正數反轉 學習感悟

2021-10-09 21:13:03 字數 810 閱讀 6755

**:

反轉數字是個很簡單的問題,只需不斷取模累乘即可,int正數的範圍是2147483647,負數的範圍為-2147483648當把這個數反轉時,大於2147483647,則 會發生溢位,所以這道題的關鍵在於判斷是否溢位。

正數有如下幾種情況:

res < int_max/10,這種情況無論t為多大,都不會溢位;

res > int_max/10,這種情況無論t為多小,一定會溢位;

res == int_max/10,其中int_max=2147483647,所以當t>7時,會發生溢位;

負數有如下幾種情況:

res > int_min/10,這種情況無論t為多大,都不會溢位;

res < int_min/10,這種情況無論t為多小,一定會溢位;

res == int_min/10,這種情況t若為-9,一定會溢位;

# includeusing namespace std;

int reverse(int x)

return res;

}int main(void)

LeetCode7反轉整數

給定乙個 32 位有符號整數,將整數中的數字進行反轉。示例 1 輸入 123輸出 321示例 2 輸入 123輸出 321示例 3 輸入 120輸出 21注意 假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 231,231 1 根據這個假設,如果反轉後的整數溢位,則返回 0。以字串方式思考...

LeetCode 7 反轉整數

給定乙個 32 位有符號整數,將整數中的數字進行反轉。示例 1 輸入 123輸出 321示例 2 輸入 123輸出 321示例 3 輸入 120輸出 21注意 假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 231,231 1 根據這個假設,如果反轉後的整數溢位,則返回 0。很簡單,就是不...

leetcode 7反轉整數

隨機一題 給定乙個 32 位有符號整數,將整數中的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 231,231 1 根據這個假設,如果反轉後的整數溢位,則返...