【力扣】1832.判断句子是否为全字母句

简介: 【力扣】1832.判断句子是否为全字母句

题目描述

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

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

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


示例 1:


输入:sentence = “thequickbrownfoxjumpsoverthelazydog”

输出:true

解释:sentence 包含英语字母表中每个字母至少一次。


示例 2:


输入:sentence = “leetcode”

输出:false


提示:


1 <= sentence.length <= 1000

sentence 由小写英语字母组成

解题方法

  • C
bool checkIfPangram(char* sentence) {

    int len = strlen(sentence);     // 获取字符串长度
    int index = 0;                  // 定义索引
    char alphabet[26] = {0};        // 定义字母表

    if(len < 26)        // 少于 26 个字符一定不全
    {
        return false;
    }

    for(int i = 0; i < len; i++)
    {
        if('a' <= sentence[i] <= 'z')   // 判断小写字母
        {
            index = sentence[i] - 'a';  // 拿到索引
            alphabet[index]++;          // 计数
        }
        else
        {
            return false;
        }
    }

    for(int j = 0; j < 26; j++)
    {
        if(alphabet[j] == 0)    // 查找未出现的字母
        {
            return false;
        }
    }

    return true;
}

复杂度分析

  • 时间复杂度:O(n+C),其中 n 是 sentence 的长度,C 是字符集的大小(即小写字母的个数)。整个过程只需要遍历一次 sentence 和 exist。
  • 空间复杂度:O( C ),其中 C 为字符集大小。


相关文章
|
8天前
|
Go
golang力扣leetcode 49.字母异位词分组
golang力扣leetcode 49.字母异位词分组
19 0
|
8天前
|
Go
golang力扣leetcode 17.电话号码的字母组合
golang力扣leetcode 17.电话号码的字母组合
26 0
|
8天前
leetcode-917:仅仅反转字母
leetcode-917:仅仅反转字母
29 0
|
8天前
leetcode-1220:统计元音字母序列的数目
leetcode-1220:统计元音字母序列的数目
32 0
|
8天前
|
Go
golang力扣leetcode 438.找到字符串中所有字母异位词
golang力扣leetcode 438.找到字符串中所有字母异位词
24 0
|
8天前
|
Java C++ Python
leetcode-242:有效的字母异位词
leetcode-242:有效的字母异位词
28 0
|
8天前
|
算法 测试技术 C#
【单调栈】LeetCode2030:含特定字母的最小子序列
【单调栈】LeetCode2030:含特定字母的最小子序列
|
8天前
|
存储 Java
17. 电话号码的字母组合 --力扣 --JAVA
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
31 0
|
8天前
leetcode代码记录(第一个出现两次的字母
leetcode代码记录(第一个出现两次的字母
13 2
|
8天前
leetcode代码记录(有效的字母异位词
leetcode代码记录(有效的字母异位词
13 1