转载自Leet
Code
题目描述
给定一个单词,你需要判断单词的大写使用是否正确。
我们定义,在以下情况时,单词的大写用法是正确的:
- 全部字母都是大写,比如
"USA"
。
- 单词中所有字母都不是大写,比如
"leetcode"
。
- 如果单词不只含有一个字母,只有首字母大写, 比如
"Google"
。
否则,我们定义这个单词没有正确使用大写字母。
示例 1: >输入: "USA"
>输出: True
示例 2: >输入: "FlaG"
>输出:
False
提示:
1 <= word.length <= 100
word
由小写和大写英文字母组成
我的代码
\(T(N) = O(N)\), \(S(N) = O(1)\)
{.line-numbers}1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| class MySolution520 { public boolean detectCapitalUse(String word) { if (word==null||word.length()<=1) return true; boolean firstIsUpper = Character.isUpperCase(word.charAt(0)); boolean secondIsUpper = Character.isUpperCase(word.charAt(1)); if (!firstIsUpper&&secondIsUpper) return false; for (int i=2; i<word.length(); i++) { if (firstIsUpper&&secondIsUpper) { if (!Character.isUpperCase(word.charAt(i))) return false; } else if ((!firstIsUpper&&!secondIsUpper)||(firstIsUpper&&!secondIsUpper)) { if (Character.isUpperCase(word.charAt(i))) return false; } } return true; } }
|