解题思路:
是后面discussion的一个答案,感觉写的很简洁
提交代码:
class Solution{
public boolean isNumber(String s) {
boolean isE=false,isDot=false,isDigit=false;
s=s.trim();
for(int i=0;i<s.length();i++) {
char c=s.charAt(i);
if(c=='e') {
if(!isDigit||isE) return false;
isDigit=false;
isE=true;
}else if(c=='+'||c=='-') {
if(i!=0&&s.charAt(i-1)!='e') return false;
}else if(c=='.'){
if(isE||isDot) return false;
isDot=true;
}else if(Character.isDigit(c)) {
isDigit=true;
}else {
return false;
}
}
return s.length()>0&&isDigit;
}
}
运行结果:

本文分享了一种使用Java实现的高效方法,用于判断给定的字符串是否能被正确解析为数字,包括整数、小数和科学计数法表示的数字。通过详细的代码解析,我们了解了如何处理字符串中的各种字符,如'e'、'+'、'-'和'.',并确保只有在符合数字规则的情况下才返回true。
2241

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



