「每日LeetCode」2022年12月14日

本文最后更新于:2023年3月19日 晚上

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

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

Category Difficulty Likes Dislikes
algorithms Easy (81.68%) 65 -

Tags
Companies
全字母句 指包含英语字母表中每个字母至少一次的句子。
给你一个仅由小写英文字母组成的字符串 sentence ,请你判断 sentence 是否为 全字母句
如果是,返回_ true ;否则,返回 _false 。

示例 1:
输入:sentence = “thequickbrownfoxjumpsoverthelazydog” 输出:true 解释:sentence 包含英语字母表中每个字母至少一次。
示例 2:
输入:sentence = “leetcode” 输出:false

提示:

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

Discussion | Solution

思路

首先,检查句子的长度是否小于 26,如果是,则返回 false。因为一个并安格必须包含每个字母,所以如果句子的长度小于 26,它肯定不符合题意。
然后,使用一个 Set 来记录句子中出现过的字符。对于句子中的每个字符,它会将字符转换为小写,然后将其添加到 set 中。如果 set 的大小已经等于 26,则说明句子中出现了所有 26 个字母,因此函数返回 true。
最后,如果句子中的字符都已经遍历完,但 set 的大小还不等于 26,则返回 false。

解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*
* @lc app=leetcode.cn id=1832 lang=javascript
*
* [1832] 判断句子是否为全字母句
*/

// @lc code=start
/**
* @param {string} sentence
* @return {boolean}
*/
var checkIfPangram = function (sentence) {
if (sentence.length < 26) return false;
const set = new Set();
for (const char of sentence) {
const lowerChar = char.toLowerCase();
set.add(lowerChar);
if (set.size === 26) return true;
}
return set.size === 26;
};
// @lc code=end