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