class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param str string字符串
* @return bool布尔型
*/
bool isNumeric(string str) {
int t=0;
while(str[t]==' '){
t++;
}
str.erase(0,t);
t=str.size()-1;
while(str[t]==' '){
t--;
}
str.erase(t+1,str.size()-t+1);
bool p=false,e=false;
if(str[0]=='+'||str[0]=='-'){
str.erase(0,1);
}
if(str.size()==0){
return false;
}
for(int i=0;i<str.size();i++){
if(str[i]=='.'){
if(p==true){
return false;
}
if(str.size()==1){
return false;
}
p=true;
}
else if(str[i]=='E'||str[i]=='e'){
if(i==0){
return false;
}
if(e==true){
return false;
}
p=true;
e=true;
if(i==str.size()-1){
return false;
}
if(str[i+1]=='+'||str[i+1]=='-'){
str.erase(i+1,1);
}
if(i==str.size()-1){
return false;
}
}
else if(str[i]<'0'||str[i]>'9'){
return false;
}
}
return true;
}
};