字符串转整数
今天是我开心的if else狂堆环节,实际上因为我自己只会这个Orz
经过一系列的堆叠,然后我卡在了- 234
这个输入上,在本地编译器输出是正常的,但是提交代码就显示输出错误。。。不知道为啥,但是今天这个判断语句练习做的还是挺开心的~
class Solution:
def myAtoi(self, str):
sig = 0
has_nub = 0
has_str = 0
has_sig = 0
nub = ''
if len(str) == 0:
return(0)
for i in range (len(str)):
if str[i] == ' ' :
if len(nub) ==0:
continue
if sig == 1:
return(0)
break
elif str[i] == '+' or str[i] == '-':
if has_nub == 1:
break
if has_sig == 1:
return(0)
has_sig = 1
sig = i
continue
elif False == str[i].isdigit():
if len(nub) !=0:
break
if len(nub) == 0:
return(0)
else:
has_nub = 1
if has_str == 1:
continue
nub += str[i]
if len(nub) == 0:
return(0)
if int(nub) >= 2147483648 and has_sig ==1:
if str[sig] == '-':
return -2147483648
elif str[sig] == '+':
return +2147483647
elif int(nub) >= 2147483648 and has_sig ==0:
return 2147483647
if has_sig == 1 :
nub = str[sig] + nub
return int(nub)
今天是自己写的,比较开心~一会看看大神们是怎么做的。