题目原文:
Validate if a given string is numeric.
Some examples:
“0” => true
” 0.1 ” => true
“abc” => false
“1 a” => false
“2e10” => true
题目大意:
判断输入是否是合法数字。
题目分析:
这是leetcode里面最坑的一道题,奇葩用例非常多,也有很多不可思议的解。discuss中某位大神终于写出了一个合法约束题意的正则式。
源码:(language:java)
public class Solution {
public boolean isNumber(String s) {
return s.matches("^\\s*[\\+\\-]?((\\.[0-9]+)|([0-9]+(\\.[0-9]*)?))(e[\\+\\-]?[0-9]+)?\\s*$");
}
}
成绩:
51ms,5.65%,4ms,25.87%