字符串的题就是很麻烦
class Solution {
public boolean isNumber(String s) {
int len = s.length();
int index = 0;
int hasE = 0, hasnum = 0, hasflag = 0, hasdot = 0;
while(index<len&&s.charAt(index)==' ') index++;
while(index<len){
while(index<len&&s.charAt(index)>='0'&&s.charAt(index)<='9'){
index++;
hasnum = 1;
}
if(index == len) break;
char c = s.charAt(index);
if(c=='e'||c=='E'){
if(hasE==1 || hasnum == 0) return false;
hasE = 1;
hasnum = 0;
hasflag = 0;
hasdot = 0;
}
else if(c=='-'||c=='+'){
if(hasnum==1||hasflag==1||hasdot==1) return false;
hasflag = 1;
}
else if(c=='.'){
if(hasdot==1||hasE==1) return false;
hasdot = 1;
}
else if(c==' ') break;
else return false;
index++;
}
for(int i = index; i<len; i++){
if(s.charAt(index) != ' ') return false;
else index++;
}
return hasnum==1&&index==len;
}
}