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++ 判断是否为全字母句的资料请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341