520. 检测大写字母 【简单模拟】
题目
我们定义,在以下情况时,单词的大写用法是正确的:
- 全部字母都是大写,比如 "USA" 。
- 单词中所有字母都不是大写,比如 "leetcode" 。
- 如果单词不只含有一个字母,只有首字母大写, 比如 "Google" 。
给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。
难度:简单
提示:
1 <= word.length <= 100
word
由小写和大写英文字母组成
题解
题目是简单题目,按照题意简单模拟即可
class Solution {
public boolean detectCapitalUse(String word) {
boolean allBig = true, allSmall = true, firstBig = false;
int bigCount = 0, smallCount = 0;
char[] chars = word.toCharArray();
// 如果首字母是大写
if (chars[0] >= 65 && chars[0] <= 91) {
firstBig = true;
bigCount++;
allSmall = false;
} else {
allBig = false;
smallCount++;
}
// 循环遍历
for (int i = 1; i < chars.length; i++) {
if (chars[i] >= 65 && chars[i] <= 91) {
allSmall = false;
bigCount++;
} else {
allBig = false;
smallCount++;
}
}
// 按照题意判断
if (allBig || allSmall) {
return true;
} else if (chars.length > 1 && firstBig && bigCount == 1) {
return true;
}
return false;
}
}