method: no
按照题目要求top-down approach
class Solution:
def myAtoi(self, s: str) -> int:
# 1 strip leading and ending space
s = s.strip()
signs = ['-', '+']
res = ''
# 2 check for sign and numbers and stop condition
for idx, char in enumerate(s):
if char in signs and idx == 0:
res += char
continue
if char.isnumeric():
res += char
else:
break
# 3 check 0 condition
if not res or res in signs:
return 0
# 4 return 3 cases
res = max(min(int(res), 2**31 - 1), -2**31)
return res