class Solution {
public boolean isNumber(String s) {
if(s == null || s.length() == 0) return false;
int i = 0;
int n = s.length();
//前面有空格
while(i < n && Character.isWhitespace(s.charAt(i))){
i++;
}
if(i < n && (s.charAt(i) == '+' || s.charAt(i) == '-')){
i++;
}
boolean isDigits = false;
while(i < n && Character.isDigit(s.charAt(i))){
i++;
isDigits = true;
}
if(i < n && s.charAt(i) == '.'){
i++;
while(i < n && Character.isDigit(s.charAt(i))){
isDigits = true;
i++;
}
}
if(i < n && s.charAt(i) == 'e' && isDigits){
i++;
isDigits = false;
if(i < n && (s.charAt(i) == '+' || s.charAt(i) == '-')){
i++;
}
while(i < n && Character.isDigit(s.charAt(i))){
i++;
isDigits = true;
}
}
while(i < n && Character.isWhitespace(s.charAt(i))){
i++;
}
return isDigits && i == s.length();
}
}
力扣65. 有效数字
最新推荐文章于 2022-06-02 11:47:05 发布