Skip to content

Latest commit

 

History

History

520

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

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.

Companies:
Google

Related Topics:
String

Similar Questions:

Solution 1.

// OJ: https://leetcode.com/problems/detect-capital/
// Author: github.com/lzl124631x
// Time: O(N)
// Space: O(1)
class Solution {
public:
    bool detectCapitalUse(string word) {
        if (word.size() < 2) return true;
        bool a = isupper(word[0]), b = isupper(word[1]), upper = a && b;
        if (!a && b) return false;
        for (int i = 2; i < word.size(); ++i) {
            if (isupper(word[i]) > 0 != upper) return false;
        }
        return true;
    }
};

Solution 2.

// OJ: https://leetcode.com/problems/detect-capital/
// Author: github.com/lzl124631x
// Time: O(N)
// Space: O(1)
class Solution {
public:
    bool detectCapitalUse(string word) {
        int cnt = 0;
        for (char c : word) cnt += isupper(c) > 0;
        return !cnt || cnt == word.size() || cnt == 1 && isupper(word[0]);
    }
};