JIAKAOBO

LeetCode

venmo
wechat

感谢赞助!

  • ㊗️
  • 大家
  • offer
  • 多多!

Problem

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”.

Given a string word, return true if the usage of capitals in it is right.

Example 1:

Input: word = "USA"
Output: true

Example 2:

Input: word = "FlaG"
Output: false

Constraints:

  • 1 <= word.length <= 100
  • word consists of lowercase and uppercase English letters.

Code

class Solution {
    public boolean detectCapitalUse(String word) {
        if(word.length() <= 1) return true;

        char first = word.charAt(0);
        char second = word.charAt(1);
        
        // all uppercase
        if (Character.isUpperCase(word.charAt(0)) && Character.isUpperCase(word.charAt(1))) {
            for (int i = 2; i < word.length(); i++) {
                char c = word.charAt(i);
                
                if (Character.isLowerCase(c)) {
                    return false;
                }
            }
        } else {
            for (int i = 1; i < word.length(); i++) {
                char c = word.charAt(i);
                
                if (Character.isUpperCase(c)) {
                    return false;
                }
            }
        }

        return true;
    }
}