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.
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]
"""
6087



被折叠的 条评论
为什么被折叠?



