1. 程式人生 > >劍指offer 49. 把字串轉換成整數

劍指offer 49. 把字串轉換成整數

原題

將一個字串轉換成一個整數(實現Integer.valueOf(string)的功能,但是string不符合數字要求時返回0),要求不能使用字串轉換整數的庫函式。 數值為0或者字串不是一個合法的數值則返回0。

輸入描述:

輸入一個字串,包括數字字母符號,可以為空

輸出描述:

如果是合法的數值表達則返回該數字,否則返回0

示例:

輸入:+2147483647
輸出:2147483647

輸入:1a33
輸出:0

Reference Answer

思路分析

就是一些特殊處理,比如 +123,就不合理,123前面不需要+,但是-123就合理,因為這是個負數。

# -*- coding:utf-8 -*-
class Solution:
    def StrToInt(self, s):
        # write code here
        if not s:
            return 0
        sign = 1
        if s[0] == '+':
            sign = 1
            s = s[1:]
        elif s[0] == '-':
            sign = -1
            s = s[1:]
        if not s:
return 0 legal_input = [str(x) for x in range(10)] for x in s: if x not in legal_input: return 0 return sign * int(s)