Valid Number
class Solution {
public boolean isNumber(String s) {
if(s== null || s.length() == 0){
return false;
}
s = s.trim()+" ";//给最后的for循环 i < len 后 i == len 判断留的
int i = 0, len = s.length()-1;
char[] charArr = s.toCharArray();
if(charArr[i] == '+' || charArr[i] == '-'){
i++;
}
int isDigit = 0, isPoint = 0;
while(Character.isDigit(charArr[i]) || charArr[i] == '.'){
if(Character.isDigit(charArr[i])){
isDigit++;
}
else if(charArr[i] == '.'){
isPoint++;
}
i++;
}
if(isDigit <= 0 || isPoint >1){
return false;
}
if(charArr[i] == 'e'){
i++;
if(charArr[i] == '+' || charArr[i] == '-'){
i++;
}
if(i == len){
return false;
}
for(;i<len;i++){
if(!Character.isDigit(charArr[i])){
return false;
}
}
}
return i == len;
}
}Last updated