LeetCode 字串 整數反轉 c

2021-09-27 11:16:07 字數 745 閱讀 1521

給出乙個 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...