검지offer: 수치를 나타내는 문자열
1404 단어 sword2offer
public class Solution {
public boolean isNumeric(char[] str) {
int len = str.length;
//
if(len==0) return false;
int start = (str[0]=='+'||str[0]=='-')?1:0;
// +-,
if(start==1 && len==1) return false;
//
if( (str[start]'9')&&str[start]!='.' ) return false;
int flag1 = 0;
int flag2 = 0;
for(int i=start; i='0' && c<='9'){
continue;
}else if(c=='e'||c=='E'){
// eE,
if(flag1!=0 || i==len-1) return false;
flag1 = i;
if(str[i+1]=='-'||str[i+1]=='+'){
i++;
}
}else if(c=='.'){
// ., e
if(flag2!=0 || (flag1!=0)) return false;
flag2 = i;
}else{
return false;
}
}
return true;
}
}