49把字符串转换成整数
题目描述
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
输入描述:
输入一个字符串,包括数字字母符号,可以为空
输出描述:
如果是合法的数值表达则返回该数字,否则返回0
示例1
输入
+2147483647
1a33
输出
2147483647
0
需要注意的:
只有正负号
带正负号
空字符
非法字符
1 # -*- coding:utf-8 -*- 2 class Solution: 3 def StrToInt(self, s): 4 if(len(s)==0): 5 return 0 #空字符 6 res='' 7 neg = False 8 if(s[0]=='+' or s[0]=='-'): 9 if(len(s)==1): #只包含正负号 10 return 0 11 neg = (s[0]=='-') 12 s=s[1:] 13 for i in s: 14 if(i >='0' and i<='9'): 15 res+=i 16 else: 17 return 0 #包含非法字符 18 return -int(res)if neg else int(res) #判断正负