leetCode7 翻轉整數

2021-08-28 04:49:17 字數 1280 閱讀 7094

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

示例 1:

輸入: 123

輸出: 321

示例 2:

輸入: -123

輸出: -321

示例 3:

輸入: 120

輸出: 21

注意:

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

分析:

1.把數值轉換成字串,放入列表,通過list[::-1]來翻轉,然後轉換成數字。

2.絕對值小於10的數字直接輸出。

3.超過部分return0

class

solution:

defreverse

(self, x):

""" :type x: int

:rtype: int

"""if -10

10: return x

x_str = str(x)

if x_str[0] == '-'

x_str = x_str[::-1]

x = int(x_str)

else:

x_str = x_str[1:]

x_str = x_str[::-1]

x = -int(x_str)

return x if -pow(2,31)<=x<=(pow(2,31)-1) else

0

第二種解法:通過數值運算,將各個位取出,然後相反輸出

class

solution:

defreverse

(self, x):

""" :type x: int

:rtype: int

:type r: int

"""r=0

a=abs(x)

#這個while迴圈是把乙個正整數倒序輸出!!!

while (a!=0):

r = r*10 + a%10

a=int(a/10)

if x > 0

and r < 2**31:

return r

elif x < 0

and r <= 2**31:

return -r

else:

return

0

LeetCode 7 整數翻轉

題目描述 給出乙個 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 請根據這個假設,如果反轉後整數溢位...

Leetcode 7 整數翻轉 C

思路 首先,記下原數值的正負性,用乙個long long的值開始反轉,最後得到的結果加上正負性,如果沒有溢位的話就返回結果 class solution else mark 1 while num 0 ans mark if ans maxx ans maxx return0 else return...