剑指 Offer 20.表示数值的字符串

请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、"5e2"、"-123"、"3.1416"、"-1E-16"、"0123"都表示数值,但"12e"、"1a3.14"、"1.2.3"、"+-5"及"12e+5.4"都不是。

看题解有一挺有意思的解答,就是开销有点大

class Solution {
    public boolean isNumber(String s) {
        if(s.endsWith("D")||s.endsWith("f"))
            return false;
        try{
            Double.valueOf(s);
            return true;
        }catch(Exception e){
            return false;
        }
    }
}
posted @ 2020-09-03 19:05  _zjk  阅读(74)  评论(0)    收藏  举报