65. 有效数字

class Solution {
    public boolean isNumber(String s) {
        s = s.trim();
        int n = s.length();
        char[] arr = s.toCharArray();
        boolean numSeen = false, dotSeen = false, eSeen = false;
        for(int i = 0; i < n; i++) {
            if(arr[i] >= '0' && arr[i] <= '9') numSeen = true;
            else if (arr[i] == '.') {
                if(eSeen || dotSeen) return false;
                dotSeen = true;
            } else if (arr[i] == 'e' || arr[i] == 'E') {
                if(!numSeen || eSeen) return false;
                numSeen = false;
                eSeen = true;
            } else if (arr[i] == '-' || arr[i] == '+') {
                if(i != 0 && arr[i-1] != 'e' && arr[i-1] != 'E') return false;
            } else {
                return false;
            }
        }
        return numSeen;
    }
}
原文地址:https://www.cnblogs.com/yonezu/p/13269281.html