《LeetCode之每日一题》:206.检测大写字母

Posted 是七喜呀!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《LeetCode之每日一题》:206.检测大写字母相关的知识,希望对你有一定的参考价值。

检测大写字母


题目链接: 检测大写字母

有关题目

我们定义,在以下情况时,单词的大写用法是正确的:
	全部字母都是大写,比如 "USA" 。
	单词中所有字母都不是大写,比如 "leetcode" 。
	如果单词不只含有一个字母,只有首字母大写, 比如 "Google" 。

给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false
示例 1:

输入:word = "USA"
输出:true
示例 2:

输入:word = "FlaG"
输出:false
提示:

1 <= word.length <= 100
word 由小写和大写英文字母组成

题解

法一:模拟
参考官方题解

class Solution {
public:
    bool detectCapitalUse(string word) {
        //特判两个字母,首字母为小写,另一个字母为大写 为假
        if (word.size() >= 2 && islower(word[0]) && !islower(word[1]))
            return false;
        
        //满足其余所有的字母与第二个字母大小写方式相同
        for (int i = 2; i < word.size(); i++)
        {
            if (islower(word[i]) ^ islower(word[1]))
            {
                return false;
            }
        }

        //一个字母为真 或 满足其余所有的字母与第二个字母大小写方式相同
        return true;
    }
};

以上是关于《LeetCode之每日一题》:206.检测大写字母的主要内容,如果未能解决你的问题,请参考以下文章

Java算法 每日一题 编号206:反转链表

Java算法 每日一题 编号206:反转链表

《LeetCode之每日一题》:86.数据流中的第 K 大元素

《LeetCode之每日一题》:189.下一个更大元素 I

《LeetCode之每日一题》:59.第一个错误的版本

《LeetCode之每日一题》:245.超级次方