我的解法,还是一如既往的暴力
特殊情况太多了,如果不是一次次提交之后出现通不过的测试点,我是不可能完成这道题的,但是很多考试是需要自己设计测试用例的,那我就不能做对这一道题。。。
class Solution:
def myAtoi(self, str: str) -> int:
if str == "" or str.isspace() == True or (len(str) == 1 and str.isdigit() == False):
return 0
res = ''
for i in str:
if i == ' ':
continue
elif i.isalpha() == True:
return 0
elif i == '+' or i == '-':
res = i
for j in str[str.index(i)+1:]:
if j.isdigit() == True:
res += j
else:
break
if res == '+' or res == '-':
res = 0
break
elif i.isdigit() == True:
res = i
#print(str[str.index(i)+1:])
for j in str[str.index(i)+1:]:
if j.isdigit() == True:
res += j
else:
break
break
return 0
intRes = int(res)
if intRes > 2**31-1:intRes = 2**31-1
elif intRes < -(2**31):intRes = -2**31
return intRes
调半天!
今天学到了怎么判断字符串是由什么组成,
str.isdigit() # True:str全由数字组成
str.isalpha() #全字母
str.isalnum() #仅字母+数字
str.isspace() #全空格
...