给你一个字符串数组 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] 由英文字母(小写和大写字母)组成
from typing import List
class Solution:
def findWords(self, words: List[str]) -> List[str]:
res = []
set1 = ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p']
set2 = ['a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l']
set3 = ['z', 'x', 'c', 'v', 'b', 'n', 'm']
for word in words:
set_w = set(word.lower()) #lower转成小写
if set_w.issubset(set1) or set_w.issubset(set2) or set_w.issubset(set3):
res.append(word)
return res
力扣https://leetcode-cn.com/problems/keyboard-row/solution/jian-pan-xing-by-leetcode-solution-bj5e/