1,把前面的空格符去掉。
2,处理正号负号。
3,处理数字。
4统计数字把它变为整数。返回符合题意的范围。
5吐槽一下,其实前面的正负号可以有多个(--,为正啊),这符合数学的正负定义!
时间效率和空间效率都不错。!
代码块
```class Solution:
def myAtoi(self, s: str) -> int:
st=s.lstrip()
n=len(st)
l=0
c=0
while n>l:
if st[l]=='+':
l+=1
elif st[l]=='-':
c+=1
l+=1
else:
break
ll=l
while n>ll:
if st[ll]>='0' and st[ll]<='9':
ll+=1
else: break
if l>1:
return 0
if ll==l:
return 0
num=int(st[l:ll])
if c==0:
num=num
else:
num=-num
if num<=-2**31:
return -2**31
elif num>=2**31-1:
return 2**31-1
else:
return num