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 @   tothk  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示