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;
    }
}
posted @ 2022-04-13 00:06  tothk  阅读(31)  评论(0编辑  收藏  举报