class Solution {
public:
bool isNumber(string s) {
int i=0;
int n=s.length();
while(i<n&&s[i]==' ')i++;//去除刚开始的空格
if(i<n&&(s[i]=='-'||s[i]=='+'))i++;//去除正负号
int num_pt=0;//小数点的个数
int num_di=0;//数字的个数
for(;i<n&&(s[i]>='0'&&s[i]<='9'||s[i]=='.');i++)
if(s[i]>='0'&&s[i]<='9')num_di++;
else if(s[i]=='.')num_pt++;
if(num_pt>1||num_di<1)return false;
if(i<n&&s[i]=='e')
{
i++;
if(i<n&&(s[i]=='+'||s[i]=='-'))i++;//跳过正负号
num_di=0;
for(;i<n&&(s[i]>='0'&&s[i]<='9');i++)
{
num_di++;
}
if(num_di<1)return false;
}
while(i<n&&s[i]==' ')i++;
return i==n;
}
};
65. Valid Number
最新推荐文章于 2024-05-05 08:32:02 发布