LeetCode之Detect Capital
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;
}
//AAA
return true;
} else {
//AA
return 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;
}
//Aaa
return true;
} else {
//Aa
return true;
}
}
} else {
//aAa
for (int i = 1; i < length; i++) {
if (word.charAt(i) >= 65 && word.charAt(i) <= 90)
return false;
}
//aaa
return true;
}
return false;
}
}
赞 (0)