1 2 3 4 5 6 7 8 9 10 11 12 13 14
| class Solution: def myAtoi(self, str: str) -> int: res, MAX, MIN = 0, (1 << 31) - 1, -(1 << 31) str = str.lstrip() if not str: return 0 sign, i = 1, 0 if str[0] in '+-': sign, i = 44 - ord(str[0]), 1 for i in range(i, len(str)): if res > MAX or not str[i].isdigit(): break res = res * 10 + int(str[i]) res *= sign if res < MIN: return MIN return res if res <= MAX else MAX
|