Validate if a given string is numeric.
Some examples:
"0"
=>true
" 0.1 "
=>"abc"
=>false
"1 a"
=>"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++不是很熟,没有用正则表达式测试过。