Github
思路
- 首先去除空白字符 str.split()
- 在返回的数组中,查找到第一个不为空的子串
- 设定flag,为整数字符串的正负号
- 依次存储不是字符的整数字符
- 判断存储的整数字符串是否有效
- 是否越界
编写
class Solution:
def myAtoi(self, str: str) -> int:
arrStr = str.split()
if(len(arrStr) == 0):
return 0
numStr = ""
s = arrStr[0]
if(s[0] in "+-0123456789"):
numStr = numStr + s[0]
else:
return 0
for j in range(1, len(s)):
tmp = s[j]
if(not tmp.isdigit()):
break
numStr = numStr + tmp
if(not numStr or numStr=='+' or numStr=='-'):
return 0
num = int(numStr)
if(num >= 2**31):
return (2**31-1)
if(num < -2**31):
return -2**31
return num