力扣刷题(第一百零二天)
灵感来源
- 保持更新,努力学习
- python脚本学习
键盘行
解题思路
- 预定义三个集合,分别存储键盘三行的字母。
- 遍历每个单词,将其转换为小写后检查是否所有字母都属于同一集合。
class Solution:def findWords(self, words: List[str]) -> List[str]:# 预定义键盘三行的字母集合row1 = set('qwertyuiop')row2 = set('asdfghjkl')row3 = set('zxcvbnm')result = []for word in words:# 将单词转换为小写word_set = set(word.lower())# 检查单词的所有字母是否都属于同一行if word_set.issubset(row1) or word_set.issubset(row2) or word_set.issubset(row3):result.append(word)return result
逐行解释
class Solution:def findWords(self, words: List[str]) -> List[str]:# 预定义键盘三行的字母集合(小写)row1 = set('qwertyuiop')row2 = set('asdfghjkl')row3 = set('zxcvbnm')result = [] # 存储符合条件的单词# 遍历输入的每个单词for word in words:# 将单词转换为小写,并构建其字母集合word_set = set(word.lower())# 检查单词的所有字母是否都属于同一行# 使用集合的issubset方法判断是否为子集if word_set.issubset(row1) or word_set.issubset(row2) or word_set.issubset(row3):result.append(word) # 符合条件,加入结果列表return result