全字母句 指包含英语字母表中每个字母至少一次的句子。
给你一个仅由小写英文字母组成的字符串 sentence
,请你判断sentence
是否为 全字母句 。
如果是,返回 true
;否则,返回 false
。
示例 1:
输入:sentence = “thequickbrownfoxjumpsoverthelazydog”
输出:true
解释:sentence 包含英语字母表中每个字母至少一次。
示例 2:
输入:sentence = “leetcode”
输出:false
提示:
- 1 <= sentence.length <= 1000
- sentence 由小写英语字母组成
分析:
本题可直接用暴力解法,由于句子中均为小写字母,可以用一个长度为26初值为0的数组,将句子从头到尾完整扫描一遍,每个字母对应位置数加1。扫描完成后再对长度26的数组扫描一遍,如果没有为0的元素,说明句子中包含了所有字母。
class Solution {
public:
bool checkIfPangram(string sentence) {
vector<int> alphabet = vector<int>(26,0);
for(auto a = sentence.begin(); a != sentence.end(); a++){
char i = *a - 'a';
alphabet[i]++;
}
for(auto a = alphabet.begin(); a != alphabet.end(); a++)
if(0 == *a)
return false;
return true;
}
};