2018迅雷校园招聘客户端在线笔试B卷—输入一个有符号整数,输出该整数的反转值。
题目描述:
输入一个有符号整数,输出该整数的反转值。
代码如下:
num = list(input())
if num[0] != '-':
num = num[::-1]
else:
num = num[::-1]
temp = num.pop()
num.insert(0,temp)
result = []
for i in num:
if i != '0':
result.append(i)
if result == []:
print('0')
else:
print(''.join(result))
这个代码有bug,就是如果输入为200700
时,输出为72
,代码对0
的判断把非零数字中间的0
也给判断了。
其实可以不需要这个判断语句就可以处理0
的。把最后反转结果转为int
输出,开头的0
自然就没有了。
代码如下:
num = list(input())
if num[0] != '-':
num = num[::-1]
else:
num = num[::-1]
temp = num.pop()
num.insert(0,temp)
if num == []:
print('0')
else:
print(int(''.join(num)))