题目
python 代码
此题的限制条件比较多
def myAtoi(s):s = s.lstrip() #去开头空格if len(s) < 1:return 0minusFlag = False #假设最终数字非负if s[0] in ['+', '-']:if s[0] == '+':passelse:minusFlag = Trues = s[1:] #确定负号后,去除掉负号标记if len(s) < 1: #去除正负号后字符串长度return 0if not s[0].isdigit(): #符号后不是数字return 0iList = []for i in range(len(s)):if s[i].isdigit():iList.append(s[i])else:breakINT_MAX = pow(2, 31) - 1INT_MIN = pow(2, 31) * (-1)if minusFlag: #测试整数区间num = int("".join(iList)) * (-1)if num < INT_MIN: num = pow(2, 31) * (-1)else:num = int("".join(iList))if num > INT_MAX:num = pow(2, 31) - 1return num