題目:給定乙個 32 位有符號整數,將整數中的數字進行反轉。
示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
注意:
假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 [−231, 231 − 1]。根據這個假設,如果反轉後的整數溢位,則返回 0。
思路:這道題的思路不難。對輸入引數先對10求餘數再除以10依次取出各個位置上的數,再計算出最後反轉的結果。同時要注意本題需要防止溢位,因此需要加乙個溢位的判斷。在以下的**裡,一開始為了防止溢位,將int的引數轉換為long型的引數
**:class solution
//對是否溢位進行判斷
if(resultinteger.max_value)
//資料型別轉換
return (int)result;}}
執行最快的**開始並沒有將int轉換為long,取數 的**和之前的一樣,只不過不同於之前**計算出最後反轉數的結果再進行溢位判斷,該**將判斷放在了迴圈內,每計算出result就對它進行溢位判斷。
執行最快的用例:
class solution
// max: 2147483647
if (result > integer.max_value /10 || result * 10 == integer.max_value && pop > 7)
result = result * 10 + pop;
}while (next != 0);
return result;
}}
7 整數反轉 LeetCode
題目描述 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設...
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。很簡單,就是不...