提交**最主要的問題在於如何避免在32位的整形中不溢位正確的邏輯應該是:
先從整數的最低位開始,對應於結果的最高位。
為避免結果溢位使用了
if
(res>int_max /10)
return0;
if(resreturn
0;
int_max / 10使用是為了避免出現除了意外的溢位,而32位的整數的10位最大位2所以不需要再對個位情況進行判斷。
為了實現這種演算法應該構造出除去最低位的整數
所以應該是數字從高位到底位,位數從低位到高位。
class
solution
return res;}}
;
演算法只有這樣才實現了int_max / 10含義的比較。 LeetCode第七題整數反轉
題目 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例示例 1 示例 2 示例 3 輸入 123 123 120輸出 321 321 21注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉後整數溢位那麼就返...
LeetCode第七題 整數反轉
題目描述如下 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。輸入 123 輸出 321 輸入 123 輸出 321 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 int型別能表示數。請根據這個假設,如果反轉後整數溢位那麼就...
LeetCode 第七題 整數反轉
整數反轉 難度 簡單 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321示例 2 輸入 123 輸出 321示例 3 輸入 120 輸出 21注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這...