Validate if a given string is numeric.
Some examples:
"0"
=> true
" 0.1 "
=> true
"abc"
=> false
"1 a"
=> false
"2e10"
=> true
Note: It is intended for the problem statement to be ambiguous. You should gather all requirements up front before implementing one.
这道题用正则表达式会更简单一些,直接匹配字符串。public boolean isNumber(String s) {
if(s.trim().isEmpty())
return false;
String regex = "[-+]?(\\d+\\.?|\\.\\d+)\\d*(e[-+]?\\d+)?";
if(s.trim().matches(regex))
return true;
else
return false;
}
注意java中字符串的定义。
另外可参照博文 leetcode 正则表达式 学习更多正则表达式的知识。
c++不是很熟,没有用正则表达式测试过。