本文主要是介绍【力扣】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 为字符集大小。
这篇关于【力扣】1832.判断句子是否为全字母句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!