leetcode 7 整數反轉------python
阿新 • • 發佈:2018-11-10
函式說明:
給定一個 32 位有符號整數,將整數中的數字進行反轉。
示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
注意:
假設只能儲存 32 位有符號整數,其數值範圍是 [−231, 231 − 1]。根據這個假設,如果反轉後的整數溢位,則返回 0。
方法1:數值法處理
def reverse(num): ans = 0 max = 2**31-1 min = -2**31 while(num!=0): ans = ans*10 + num%10 num //=10 #python '//'為整除,'/'為浮點除法,'round'為四捨五入 if num>max or num<min: ans = 0 return ans if __name__ == '__main__': new_num = reverse(12345) print(new_num)
方法2:轉換為string型別處理
def reverse(num):
if 0 <= num < 2 ** 31 - 1:
ans = int(str(num)[::-1])
elif -2 ** 31 < num < 0:
ans = -int(str(num)[::-1])
else:
ans = 0
return ans
if __name__ == '__main__':
new_num = reverse(12345)
print(new_num)