1、题目
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".
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.
Subscribe to see which companies asked this question.
2、代码实现
public class Solution {public boolean detectCapitalUse(String word) {if (word == null || word.length() == 0)return false;if (word.length() == 1) return true;int length = word.length();if (word.charAt(0) >= 65 && word.charAt(0) <= 90) {//AA**if (word.charAt(1) >= 65 && word.charAt(1) <= 90) {if (length > 2) {//AA*a*for (int i = 2 ; i < length; ++i) {if (word.charAt(i) >= 97 && word.charAt(i) <= 122)return false;}//AAAreturn true;} else {//AAreturn true;}}//Aa**if (word.charAt(1) >= 97 && word.charAt(1) <= 122) {if (length > 2) {for (int i = 2 ; i < length; ++i) {//Aa*A*if (word.charAt(i) >= 65 && word.charAt(i) <= 90)return false;}//Aaareturn true;} else {//Aareturn true;}} } else {//aAafor (int i = 1; i < length; i++) {if (word.charAt(i) >= 65 && word.charAt(i) <= 90)return false;}//aaareturn true;}return false;}
}