问题描述
输入一个由数字组成的字符串,输出该字符串对应的整数
算法思路
从左向右依次扫描字符串中的每个字符,把之前扫面得到的数字乘以10,再加上当前字符表示的数字。
这个问题中需要注意:字符串中可能包含正负号;非法输入;对于C/C++实现,还需要考虑整数越界的问题。
代码实现
def str2int(str):
if len(str) == 0:
return None
minus = False
result = 0
for s in str:
if s == '-':
minus = True
continue
elif s == '+':
continue
else:
result = result * 10 + int(s)
if minus:
return 0 - result
else:
return result