給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。
示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
注意:假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 [−2
312^
231, 2
312^
231 − 1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。
這個題目的兩個關鍵點就是溢位和反轉。
因為本題目的數是32 位的有符號整數,它再怎麼反轉也不會超過long的長度,所以我們可以用long型儲存反轉後的資料再判斷是不是溢位了。
此外要注意的一點是負的2147483648轉成正的時就越界了,所以再將負數變為正數時要先判斷一下輸入的數是不是-2147483648,是的話就直接返回0
因為此題目是在字串專題下,我之前一直想的是字串的思想,其實這個直接用迴圈取餘數就可以了
class
solution
flag =1;
x =-x;}
while
(x>0)
if(n>=
2147483647
)return0;
if(flag==1)
return n;}}
;
LeetCode 字串 反轉字串
反轉字串 編寫乙個函式,其作用是將輸入的字串反轉過來。輸入字串以字元陣列char的形式給出。不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列 使用 o 1 的額外空間解決這一問題。你可以假設陣列中的所有字元都是 ascii 碼表中的可列印字元。示例 1 輸入 h e l l o 輸出 o l ...
LeetCode 字串 反轉字串
編寫乙個函式,其作用是將輸入的字串反轉過來。輸入字串以字元陣列 char 的形式給出。不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列 使用 o 1 的額外空間解決這一問題。你可以假設陣列中的所有字元都是 ascii 碼表中的可列印字元。示例 輸入 h e l l o 輸出 o l l e h...
leetcode 反轉字串
題目 編寫乙個函式,其作用是將輸入的字串反轉過來。輸入字串以字元陣列 char 的形式給出。不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列 使用 o 1 的額外空間解決這一問題。你可以假設陣列中的所有字元都是 ascii 碼表中的可列印字元。示例 1 輸入 h e l l o 輸入hello...