自己写的:
class Solution: # 定义findWords方法,该方法接受一个字符串列表words作为参数 def findWords(self, words: List[str]) -> List[str]: # 定义三个字符串,分别包含键盘上三行的字母 str1 = "qwertyuiopQWERTYUIOP" # 第一行字母 str2 = "asdfghjklASDFGHJKL" # 第二行字母 str3 = "zxcvbnmZXCVBNM" # 第三行字母 # 初始化一个空列表res,用于存储符合条件的单词 res = [] # 循环遍历words列表,直到列表为空 while words: # 初始化一个空列表temp,用于存储当前单词中每个字母所属的行 temp = [] # 弹出words列表中的最后一个元素作为当前单词 cur = words.pop() # 遍历当前单词中的每个字母 for i in cur: # 判断字母i属于哪一行,并在temp列表中添加对应的数字 if i in str1: temp.append(1) # 如果字母在第一行,添加1 elif i in str2: temp.append(2) # 如果字母在第二行,添加2 elif i in str3: temp.append(3) # 如果字母在第三行,添加3 # 如果temp列表中所有元素都相同,说明当前单词的所有字母都在同一行 # 则将当前单词添加到结果列表res中 if len(set(temp)) == 1: res.append(cur) # 返回符合条件的单词列表res return res
标签:单词,temp,res,字母,Leedcode,列表,键盘,words From: https://www.cnblogs.com/yyyjw/p/18199361