Medium
, Array/String
将一个字符转换为数字,开头和结尾的空格忽略。开头的‘+’和‘-’需要考虑。
Solution
此题的关键是防止溢出,最大数为2^31-1
,最小数为-2^31
class Solution(object):
def myAtoi(self, str):
"""
:type str: str
:rtype: int
"""
if len(str) == 0 : return 0
ls = list(str.strip())
sign = -1 if ls[0] == '-' else 1
if ls[0] in ['-','+'] : del ls[0]
ret, i = 0, 0
while i < len(ls) and ls[i].isdigit() :
ret = ret*10 + ord(ls[i]) - ord('0')
i += 1
return max(-2**31, min(sign * ret,2**31-1))
网友评论