leetcode-500. 键盘行[python]

xiaoxiao2021-07-05  249

给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。

示例1: 输入: [“Hello”, “Alaska”, “Dad”, “Peace”] 输出: [“Alaska”, “Dad”]

注意: 你可以重复使用键盘上同一字符。 你可以假设输入的字符串将只包含字母。

class Solution(object): def findWords(self, words): """ :type words: List[str] :rtype: List[str] """ dict1 = {"q","w","e","r","t","y","u","i","o",'p','Q','W','E','R','T','Y','U','I','O','P'} dict2 = {'a','s','d','f','g','h','j','k','l','A','S','D','F','G','H','J','K','L'} dict3 = {'z','x','c','v','b','n','m','Z','X','C','V','B','N','M'} WordsinRow = [] for i in words: if set(i).issubset(dict1) or set(i).issubset(dict2) or set(i).issubset(dict3): WordsinRow.append(i) return WordsinRow

三行字母存三个dict,用issubset()判断遍历的字母是否是三个dict的子集。

转载请注明原文地址: https://www.6miu.com/read-4821326.html

最新回复(0)