1.有效数字
这道题太难了
太难了了
要考虑空格 符号 自然指数 小数点 数字 五种符号
class Solution {
public:
bool isNumber(string s) {
bool num= false;
bool exp=false;
bool bot=false;
bool sign=false;
bool numAfterE=true;
int len=s.size();
for(int i=0;i<len;i++){
if(s[i]==' '){
if(i<len-1 && s[i+1]!=' ' && (num|| exp || bot ||sign )){return false;}
}
else if(s[i]>='0' && s[i]<='9'){
num=true;
numAfterE=true;
}
else if(s[i]=='+' || s[i]=='-'){
if(i>0 && s[i-1]!=' ' && s[i-1]!='e'){return false;}
sign=true;
}
else if(s[i]=='.'){
if(bot||exp){return false;}
bot=true;
}
else if(s[i]=='e'){
if(!num ||exp){return false;}
exp=true;
numAfterE=false;
}
else {return false;}
}
return num&&numAfterE;
}
};