將乙個字串轉換成乙個整數(實現integer.valueof(string)的功能,但是string不符合數字要求時返回0),要求不能使用字串轉換整數的庫函式。 數值為0或者字串不是乙個合法的數值則返回0。
輸入描述:
輸入乙個字串,包括數字字母符號,可以為空
輸出描述:
如果是合法的數值表達則返回該數字,否則返回0
首先判斷正負
然後遍歷字串,如果不是數字就返回0
每次的更新規則相當於從高位向低位進行,就是乘以10加上當前數字
class solution:
def strtoint(self, s):
# write code here
if not s:
return 0
dic =
res = 0
is_positive = 1
if s[0] == '+':
s = s[1:]
elif s[0] == '-':
is_positive = -1
s = s[1:]
for i in s:
if i not in dic:
return 0
res = res * 10 + dic[i]
return is_positive * res
49 劍指offer 把字串轉換成整數
題目描述 將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0 輸入描述 輸入乙個字串,包括數字字母符號,可以為空 輸出描述 如果是合法的數值表達則返回該數字,否則返回0 輸入例子 2147483647 1a33 輸出例子 2147483647 0 ...
劍指offer 49 把字串轉換成整數
題目 將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0 輸入描述 輸入乙個字串,包括數字字母符號,可以為空 思路 如果有正負號,先處理正負號,再處理判斷是否為合法字元,思路看不懂可以看 附有注釋,請原諒博主我太懶 class solution e...
劍指offer系列(49) 把字串轉換成整數
題目描述 將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0 輸入乙個字串,包括數字字母符號,可以為空如果是合法的數值表達則返回該數字,否則返回0樣例輸出 2147483647 0 思路分析 題目描述過於簡單了,對於邊界條件,難道讓做題者猜測嗎 手...