(1)-LeetCode-反转整数(Reverse Integer)-python
题目如下
原代码
#下面是出错的代码
class Solution:
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
'''
是否负数
是否结尾是0,即整除10有余数
是否越界
2^31-1=2 147 483 647
在思考解法时,有将数字带入到二进制解决的思路
4321
[1,2,3,4]
100 110
'''
first = x % 10
list = [first]
w = 0
for i in range(1, 11):
a = pow(10, i)
if a != 0:
b = x / a
list.append(b)
else:
list.append(0)
list[::-1]
for i in range(11):
w += list[i]*pow(10,10-i)
if x<0:
w=-w
if w <= pow(2,31)-1 and w >= -pow(2, 31):
return w
else:
return 0
结果没做出来,输出不是null就是0。
- 参考代码
class Solution:
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
x = int(str(x)[::-1]) if x >= 0 else - int(str(-x)[::-1])
return x if x < 2147483648 and x >= -2147483648 else 0
- 运行结果
此答案转载自http://www.cnblogs.com/everfight/