String to Integer:
读取空格 读取 字符 读取数据计算
判断是否达到极限
A. >7 || >=7 || >6 || >=8
B. >8 || >=8 || >7 || >=9
____________ > 7 为统一解
class Solution:
def myAtoi(self, str: str) -> int:
INT_MAX = 2147483647
INT_MIN = -2147483648
flag = 1
answer = 0
strlen = len(str)
i = 0
if str == ‘’:
return 0
while i < strlen and str[i] == ’ ':
i += 1
if i == strlen:
return 0
if str[i] == ‘+’:
flag = 1
i += 1
elif str[i] == ‘-’:
flag = -1
i += 1
while i < strlen and str[i] <= ‘9’ and str[i] >= ‘0’:
if answer * 10 + int(str[i]) > INT_MAX:
if flag == 1:
return INT_MAX
else:
return INT_MIN
answer = answer * 10 + int(str[i])
i += 1
return answer * flag