LintCode python 小白-簡單題-413-反轉整數
阿新 • • 發佈:2018-12-26
題目:將一個整數中的數字進行顛倒,當顛倒後的整數溢位時,返回 0 (標記為 32 位整數)。
樣例
給定 x = 123,返回 321
給定 x = -123,返回 -321
思路:
新建一個空字串,獲取數字從尾到頭的資料:這個過程需要將數字->字串,然後將字串的元素按尾到頭順序給空字串,以連線的方式+。
一開始資料可能要有分正負,解決方案是直接將全部資料絕對值化,最後得到一個反轉的數字之後,再去判斷原始資料是否負,是給反轉的資料添符號。
class Solution:
# @param {int} n the integer to be reversed
# @return {int} the reversed integer
def reverseInteger(self, n):
# Write your code here
if -10<n<10 :
return n
n1=abs(n) #都按正數進行操作
b=str(n1)
if len(b)>10:
return 0
v=''
for i in range(len(b)): #反轉
v=v+b[-(i+1)]
result=int(v)
if n<0: #判斷是否要新增符號符號
result=-result
if -2147483648 < result < 2147483647: #整數不溢位的條件
return result
else:
return 0