C++ LeetCode1832题解判断句子是否为全字母句

 更新时间:2022年12月16日 10:40:50   作者:LetMeFly  
这篇文章主要为大家介绍了C++ LeetCode1832题解判断句子是否为全字母句示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

LeetCode 1832.判断句子是否为全字母句

力扣题目链接:leetcode.cn/problems/ch…

全字母句 指包含英语字母表中每个字母至少一次的句子。

给你一个仅由小写英文字母组成的字符串 sentence ,请你判断 sentence 是否为 全字母句

如果是,返回 true ;否则,返回 false

示例 1:

输入:sentence = "thequickbrownfoxjumpsoverthelazydog"
输出:true
解释:输入:sentence = "thequickbrownfoxjumpsoverthelazydog"
输出:true
解释:sentence 包含英语字母表中每个字母至少一次。

包含英语字母表中每个字母至少一次。

示例 2:

输入:sentence = "leetcode"
输出:false

提示:

  • 1 <= sentence.length <= 1000
  • sentence 由小写英语字母组成

方法一:统计

我们只需要开辟大小为26的布尔类型的数组(初始值全为false),然后遍历原始字符串

在遍历过程中,直接将字符串对应的布尔值修改为true

最后,再遍历一遍布尔类型的数组,如果发现哪个布尔值仍未false,就说明这个布尔值对应的字母没有在字符串中出现过,也就是说这个字符串不是“全字母句”,直接返回false

否则,遍历结束未返回false,则返回true

  • 时间复杂度O(len(sentence))
  • 空间复杂度O(C),其中C=26,这里写成O(1)也可

AC代码

C++

class Solution {
public:
    bool checkIfPangram(string& sentence) {
        bool visited[26] = {false};
        for (char c : sentence)
            visited[c - 'a'] = true;
        for (int i = 0; i < 26; i++) {
            if (!visited[i])
                return false;
        }
        return true;
    }
};

以上就是C++ LeetCode1832题解判断句子是否为全字母句的详细内容,更多关于C++ 判断是否为全字母句的资料请关注脚本之家其它相关文章!

相关文章

最新评论