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".
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.
题意:给定一个字符串,判断是否正确使用了大写规则;正确与否看是否满足如下的规则;
- 首字母大小,其他地方小写
- 所有字母都小写
- 所有字母都大写
解法:既然题目已经说明了需要满足的三个条件,那么我们只需要根据给定的字符串得到满足条件的三种字符串,只要给定字符串与我们转换后得到的三种中的一种匹配,那么这个字符串就是正确利用了大写规则;
class Solution {
public boolean detectCapitalUse(String word) {
String rightOne = word.toUpperCase();
String rightTwo = word.toLowerCase();
String rightThree = word.substring(0, 1).toUpperCase() +
word.substring(1).toLowerCase();
if (rightOne.equals(word) || rightTwo.equals(word) ||
rightThree.equals(word)) {
return true;
}
return false;
}
}