原题链接在这里:https://leetcode.com/problems/detect-capital/#/description
题目:
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 if it has more than one letter, like "Google".
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.
题解:
数大写的个数,对应三种cases: 1.count为0, 2. count 等于word.length(), 3. count 是1, 首字符大写.
Time Complexity: O(word.length()). Space: O(1).
AC Java:
1 public class Solution { 2 public boolean detectCapitalUse(String word) { 3 int count = 0; 4 for(int i = 0; i<word.length(); i++){ 5 if('Z'-word.charAt(i) >= 0){ 6 count++; 7 } 8 } 9 return count == 0 || count == word.length() || (count==1 && 'Z'-word.charAt(0)>=0); 10 } 11 }