LeetCode #8 字符串转换整数(atoi)
2020-02-03 本文已影响0人
HU兔兔
class Solution {
public:
int myAtoi(string str) {
int flag,PlusOrMinus,ans,p;
flag=0;
ans=0;
PlusOrMinus=1;
for(auto s:str){
if(s>='0'&&s<='9'){
flag=flag?flag:1;
p=s-'0';
if((ans==-214748364&&p>8)||(ans==214748364&&p>7)||abs(ans)>214748364){
ans=ans>0?2147483647:-2147483648;
break;
}
else{
ans=ans*10+p*PlusOrMinus;
}
}
else if(flag){
break;
}
else{
if(s==' '){
continue;
}
else if(s=='+'){
flag=1;
continue;
}
else if(s=='-'){
flag=1;
PlusOrMinus=-1;
continue;
}
else{
break;
}
}
}
return ans;
}
};
可惜还不会正则表达式,什么时候学一下然后用正则再做一遍。