给与一个单词,判断其大写字母的使用是否正确,即每个字母都是大写或都是小写,或首字母大写。
Example 1:
Input: "USA"
Output: True
Example 2:
Input: "FlaG"
Output: False
定义两个变量,记录小写字母个数和大写字母个数,然后判断条件是否符合。
class Solution {
public boolean detectCapitalUse(String word) {
if (word.length() < 2) {
return true;
}
char[] chars = word.toCharArray();
int lower = 0, upper = 0;
for (int i = 0; i < chars.length; i++) {
if (isLowerCaseLetter(chars[i])) {
lower++;
} else {
upper++;
}
}
return lower == chars.length || upper == chars.length ||
(isUpperCaseLetter(chars[0]) && lower == chars.length - 1);
}
public boolean isUpperCaseLetter(char c) {
return c >= 65 && c <= 90;
}
public boolean isLowerCaseLetter(char c) {
return c >= 97 && c <= 122;
}
}
Runtime: 12 ms, faster than 98.36% of Java online submissions for Detect Capital.