IncredibleThings

导航

LeetCode - Detect Capital

Given a word, you need to judge whether the usage of capitals in it is right or not.

We define the usage of capitals in a word to be right when one of the following cases holds:

All letters in this word are capitals, like "USA".
All letters in this word are not capitals, like "leetcode".
Only the first letter in this word is capital, like "Google".
Otherwise, we define that this word doesn't use capitals in a right way.
 

Example 1:

Input: "USA"
Output: True
 

Example 2:

Input: "FlaG"
Output: False
 

Note: The input will be a non-empty word consisting of uppercase and lowercase latin letters.

者利用了library来判断是不是大写字母,也可以用 char 的 tel code来判断, 分情况考虑。

class Solution {
    public boolean detectCapitalUse(String word) {
        boolean startWithUpperCase = false;
        int upperCaseChars = 0;
        if (Character.isUpperCase(word.charAt(0))) {
            startWithUpperCase = true;
            upperCaseChars = 1;
        }
        for (int i = 1; i < word.length(); i++) {
            if (Character.isUpperCase(word.charAt(i))) {
                if(startWithUpperCase) {
                    if(upperCaseChars == i) {
                        upperCaseChars ++;
                    } else {
                        return false;
                    }
                } else {
                    return false;
                }
            } else if (upperCaseChars > 1){
                return false;
            }
        }
        return true;
    }
}

 

posted on 2021-02-06 15:12  IncredibleThings  阅读(23)  评论(0编辑  收藏  举报