03 LeetCode 反轉整數

2022-08-12 19:45:19 字數 1067 閱讀 3798

題目:

給定乙個 32 位有符號整數,將整數中的數字進行反轉。

示例 1:

輸入:123輸出:321
示例 2:

輸入:-123輸出:-321
示例 3:

輸入:120輸出:21
注意:假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 [−231,  231 − 1]。根據這個假設,如果反轉後的整數溢位,則返回 0。

思路:這個**其實我提交一次錯一次才知道思路。。剛開始用餘數和整除把百十位分開然後再合起來,很麻煩,條件很多。

直接轉成字串,再通過[::-1]的寫法把字串反轉,很方便而且**也很少。

轉成字串

判斷第乙個字元是否為『-』 ,即是是否為負號

如果是負號就從下標為1的字元切片(主要為了去掉負號),並且用[::-1]反轉字串,這裡[::-1]的意思就是從開始到結束,每次以-1的step取值。

如果正好從下標為0開始切片。反轉完成後轉換成整型,因為題目要求有取值範圍,所以要判斷是否》2147483647或

完成**:

python

def

func1(x):

s =str(x)

if s[0] == '-'

: s = s[1:][::-1]

x = -int(s)

if x >= (-2 ** 31):

return

x

else

: s = s[::-1]

x =int(s)

if x <= 2 ** 31 - 1:

return

x

return 0

leetcode反轉整數

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

leetcode 整數反轉

給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321示例 2 輸入 123 輸出 321示例 3 輸入 120 輸出 21注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉後整數...

LeetCode 整數反轉

給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉後整數溢位那麼就返回 0。題目並不難,重點在於處理溢位問題。int max 2147483647 int min...