学习过程中将笔记整理跟大家分享,希望对大家也有所帮助,共同成长进步💪\ 如果大家喜欢,可以点赞或留言💕~~,谢谢大家⭐️⭐️⭐️~~
题目:键盘行
给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。
美式键盘 中:
- 第一行由字符 "qwertyuiop" 组成。
- 第二行由字符 "asdfghjkl" 组成。
- 第三行由字符 "zxcvbnm" 组成。
示例 1:
- 输入: words = ["Hello","Alaska","Dad","Peace"]
- 输出: ["Alaska","Dad"]
示例2:
- 输入: words = ["omk"]
- 输出: []
示例3:
- 输入: words = ["adsdf","sfd"]
- 输出: ["adsdf","sfd"]
提示:
1 <= words.length <= 20
1 <= words[i].length <= 100
-
words[i]
由英文字母(小写和大写字母)组成
解题代码和思路如下:
/**
* @param {string[]} words
* @return {string[]}
*/
var findWords = function(words) {
const keys = ['qwertyuiop', 'asdfghjkl', 'zxcvbnm'];
const res = [];
// 遍历三行键盘
keys.forEach(key => {
// 满足以下条件的单词放入res
res.push(
// 从words筛选出每个字母都在当前行的单词,并展开
...words.filter(word => {
return word
.toLowerCase()
.split('')
.every(char => key.includes(char));
})
);
});
return res;
};
点击前往 LeetCode 练习
感谢大家阅读⭐️⭐️⭐️,如果喜欢,可以点赞或留言哟💕💕💕
后续会持续更新记录😊~~~