2025-08-26 06:10:25 +0000 UTC
String to Integer (atoi)
Categories:
Links
Code
class Solution:
def myAtoi(self, s: str) -> int:
digits = []
sign = None
found_dig = False
for char in s:
if char.isdigit():
digits.append(int(char))
found_dig = True
elif not found_dig and sign is None and char == " ":
continue
elif not found_dig and sign is None and char in ("+", "-"):
sign = 1
if char == "-":
sign = -1
else:
break
if sign is None:
sign = 1
res = 0
cnt = 0
while digits:
res += digits.pop() * (10 ** cnt)
cnt += 1
if res > 2 ** 31 - 1 and sign == 1:
return 2 ** 31 - 1
elif res > 2 ** 31 and sign == -1:
return -(2 ** 31)
return res * sign