将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,可是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。python
时间限制:1秒;空间限制:32768K;本题知识点:字符串函数
本题利用ASCII码来求解,要充分考虑各类状况,如输入为空、输入首字符为+/-号,输入只有+/-号等。code
Python代码:utf-8
# -*- coding:utf-8 -*- class Solution: def StrToInt(self, s): # write code here result = 0 sign = 1 if not s: return 0 if ord(s[0]) == ord('+'): #第一个字符是+号 s=s[1:] sign = 1 if len(s)==0: #只有一个+号 return 0 if ord(s[0]) == ord('-'): #第一个字符是-号 s=s[1:] sign = 0 if len(s)==0: #只有一个-号 return 0 for i in range(len(s)): if ord(s[i])>=ord('0') and ord(s[i])<=ord('9'): result += ord(s[i])-ord('0') else: return 0 result *= 10 result /= 10 return result if sign else -result