python leetcode 500. Keyboard Row

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.


python leetcode 500. Keyboard Row


判断单词是否属于键盘中的同一行。

Example 1:

Input: ["Hello", "Alaska", "Dad", "Peace"]
Output: ["Alaska", "Dad"]

Note:

  1. You may use one character in the keyboard more than once.
  2. You may assume the input string will only contain letters of alphabet.

class Solution:
    def findWords(self, words):
        """
        :type words: List[str]
        :rtype: List[str]
        """
        ans = []
        keyboard = ["qwertyuiop", "asdfghjkl", "zxcvbnm"] 
        for word in words:
            for board in keyboard:
                word_set = set(word.lower())
                if word_set.issubset(set(board)):
                    ans.append(word)
        return ans