7 Reverse Integer
Method: 简单模拟,注意几种情况处理,前导的0的处理,负数的处理。
class Solution(object):
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
if x == 0:
return 0
if x > 0:
if x > 2**31-1:
return 0
x = str(x)
ans = ""
mark = 1
for i in range(1,len(x)+1):
if mark and x[len(x)-i] =='0':
continue
else:
mark = 0
ans += x[len(x)-i]
if int(ans) > 2**31-1:
return 0
else:
return int(ans)
if x < 0:
if x < -(2**31):
return 0
x = str(x)
x = x[1:]
mark = 1
ans = "-"
for i in range(1,len(x)+1):
if mark and x[len(x)-i] == '0':
continue
else:
mark = 0
ans = ans + x[len(x)-i]
if int(ans) < -(2**31):
return 0
return int(ans)