這道題真的是折射出我的python基礎不太紮實
給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。
示例 1
:輸入:
123輸出:
321 示例 2
:輸入:
-123
輸出:-
321示例 3
:輸入:
120輸出:
21注意:
假設我們的環境只能儲存得下 32 位的有符號整數,
則其數值範圍為 [−231
,231 − 1
]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。
一開始看到這道題,我第乙個想法就是把整數變成字串型別,然後列表逆序,然後找個辦法計算出結尾0的個數,這不是很簡單嘛。然後我花了十分鐘寫了下面**(列表切片有一點忘了)
class
solution
(object):
defreverse
(self, x)
:"""
:type x: int
:rtype: int
"""y =
10while
(x//y == x/y)
: y *=
10 y =
int(y/10)
y =len(
list
(str
(y)))-
1if x >=0:
x =list
(str
(x))
x = x[::
-1] x = x[y:
]return
int(
"".join(x)
)else
: x =
list
(str
(x))
x.pop(0)
x = x[::
-1] x = x[y:
]return
-int(""
.join(x)
)
#戰勝 93.45 % 的 python 提交記錄
#執行時間36 ms
class
solution
(object):
defreverse
(self, x)
:"""
:type x: int
:rtype: int
"""b =
0if x <0:
b, x =1,
abs(x)
mod, res =0,
0while x:
x, mod = x //
10, x %
10 res = res *
10+ mod
if res >
2147483648
:return
0if b ==1:
res =
-res
return res
LeetCode7反轉整數
給定乙個 32 位有符號整數,將整數中的數字進行反轉。示例 1 輸入 123輸出 321示例 2 輸入 123輸出 321示例 3 輸入 120輸出 21注意 假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 231,231 1 根據這個假設,如果反轉後的整數溢位,則返回 0。以字串方式思考...
LeetCode 7 反轉整數
給定乙個 32 位有符號整數,將整數中的數字進行反轉。示例 1 輸入 123輸出 321示例 2 輸入 123輸出 321示例 3 輸入 120輸出 21注意 假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 231,231 1 根據這個假設,如果反轉後的整數溢位,則返回 0。很簡單,就是不...
leetcode 7反轉整數
隨機一題 給定乙個 32 位有符號整數,將整數中的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 231,231 1 根據這個假設,如果反轉後的整數溢位,則返...