题目描述
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。
时间限制:1秒 空间限制:32768K 热度指数:125576
解答:
这题首先需要搞清楚数值的规范。还是很复杂的。
大家可以参考下牛客讨论区的解答。然后写出正则表达式判断即可。
所以这种题,你就看看就行,没有什么考查的太大意义。
public class Solution {
public boolean isNumeric(char[] str) {
String s = String.valueOf(str);
boolean result = s.matches("[+-]?\\d*(\\.\\d*)?([e|E][+-]?\\d+)?");
return result;
}
}