Number of Valid Words in a Sentence

这题就是规则检查, 做的时候细心一点即可.

class Solution {
    public int countValidWords(String sentence) {
        String[] strs = sentence.split(" ");
        int res = 0;
        for(String s : strs)
            if(!s.isEmpty()&& check(s.trim()))
                res++;
        return res;
    }
    
    public boolean check(String s) {
        int h = 0;
        for(int i = 0; i < s.length(); i++) {
            if(Character.isLowerCase(s.charAt(i))){
                continue;
            } else if(s.charAt(i) == '-' && i > 0 && Character.isLowerCase(s.charAt(i - 1)) && i+1 < s.length() && Character.isLowerCase(s.charAt(i + 1))){
                h++;
                continue;
            } else if((s.charAt(i) == '.' || s.charAt(i) == '!' || s.charAt(i) == ',') && i + 1 == s.length())
                continue;
            else
                return false;
        }
        return h <= 1;
    }
}