leetcode 7 整數反轉 python
阿新 • • 發佈:2020-09-02
題目要求
給出一個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。
示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
注意:
假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 [−231, 231 − 1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。
思路一
利用字串反轉
思路二
進行取餘操作,按位乘10相加
→_→ talk is cheap, show me the code
class Solution: def reverse(self, x): """ :type x: int :rtype: int """ if x // 10==0: return x symbol = 1 if x < 0: symbol = -1 x = symbol * x n = 0 # 將x倒位相加 while x != 0: n = n*10 + x%10 x = x//10 # 記得加上符號 res = n*symbol # 題目給的邊界條件 if -2**31 <= res and res <= 2**31-1: return res return 0