1)普通的进行遍历判断的方法。这道题只要是边界用例比较多,要考虑全面。
# -*- coding:utf-8 -*-
class Solution:
    def StrToInt(self, s):
        # 1)边界
        if not s:
            return 0
        
        if len(s)==1:
            if '0'<=s[0]<='9':
                return int(s[0])
            else:
                return 0
        flag=1
        num=[]
        if s[0]=='+':
            flag=1
        elif s[0]=='-':
            flag=-1
        elif '0'<=s[0]<='9':
            flag=1
            num.append(int(s[0]))
        for i in range(1,len(s)):
            if '0'<=s[i]<='9':
                num.append(int(s[i]))
            else:
                return 0
        
        number=0
        for j in range(len(num)):
            number=number*10+num[j]
        
        return number*flag
        
        
2)有看到还有递归的方法,但我自己没写。