1. 程式人生 > >LeetCode:Detect Capital(檢測大小寫字母)

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:

  1. All letters in this word are capitals, like "USA".
  2. All letters in this word are not capitals, like "leetcode".
  3. Only the first letter in this word is capital if it has more than one letter, 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.

class Solution {
    public boolean detectCapitalUse(String word) {
        if (word.length() <= 1) {
            return true;
        }
        boolean firstCharFlag = word.charAt(0) < 97;
        boolean secondCharFlag = word.charAt(1) < 97;
       
        if (!firstCharFlag && secondCharFlag) {
            return false;
        }
        
        for (int i = 2; i < word.length(); i++) {
            boolean charFlag = word.charAt(i) < 97;
            //存在第二個字元和後面的字元不相同返回都為false
            if (!secondCharFlag && charFlag) {
                return false;
            }
            if (secondCharFlag && !charFlag) {
                return false;
            }
        }
        return true;       
    }
}

這種方法判斷比較簡單,而且時間複雜度可以接受,也達到了題目的要求;