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-11-02 12:39:02 发布
本文详细解读Solution类中的isNumber方法,该函数用于检查输入的字符串是否遵循数字规则,包括整数、小数和科学计数法。方法通过遍历字符串并利用Character.isDigit()判断字符,展示了如何处理空格、正负号、小数点和'e'等特殊字符。
378

被折叠的 条评论
为什么被折叠?



