Given a List of Words, return the words that can be typed using letters of alphabet on only one row's of American keyboard like the image below.
Example 1:
Input: ["Hello", "Alaska", "Dad", "Peace"]Output: ["Alaska", "Dad"]Note:
You may use one character in the keyboard more than once.You may assume the input string will only contain letters of alphabet.Subscribe to see which companies asked this question.想法很简单 就是用集和运算 然后看每个word是不是一行的子集最开始写的时候 太傻了 被注释掉了class Solution(object): def findWords(self, words): #row1 = set(['Q','W','E','R','T','Y','U','I','O','P','q','w','e','r','t','y','u','i','o','p']) #row2 = set(['A','S','D','F','G','H','J','K','L','a','s','d','f','g','h','j','k','l']) #row3 = set(['Z','X','C','V','B','N','M','z','x','c','v','b','n','m']) row1 = set('qwertyuiop') row2 = set('asdfghjkl') row3 = set('zxcvbnm') res = [] for i in words: si = set(i.lower()) #if len(si - row1) == 0 or len(si - row2) == 0 or len(si - row3) == 0: if si.issubset(row1) or si.issubset(row2) or si.issubset(row3): res += i, return res """ :type words: List[str] :rtype: List[str] """
新闻热点
疑难解答