將一個字符串轉換成一個整數(實現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