500. 键盘行 哈希表 力扣 Python 难度指数:3
500. 键盘行
已解答
简单
相关标签
相关企业
给你一个字符串数组 words
,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。
美式键盘 中:
- 第一行由字符
"qwertyuiop"
组成。 - 第二行由字符
"asdfghjkl"
组成。 - 第三行由字符
"zxcvbnm"
组成。
示例 1:
输入:words = ["Hello","Alaska","Dad","Peace"] 输出:["Alaska","Dad"]
示例 2:
输入:words = ["omk"] 输出:[]
示例 3:
输入:words = ["adsdf","sfd"] 输出:["adsdf","sfd"]
提示:
1 <= words.length <= 20
1 <= words[i].length <= 100
words[i]
由英文字母(小写和大写字母)组成
class Solution(object):
def findWords(self, words):
"""
:type words: List[str]
:rtype: List[str]
"""
ans=[]
num=[0]*200
for i in "QWERTYUIOPqwertyuiop":
num[ord(i)]=1
for i in 'ASDFGHJKLasdfghjkl':
num[ord(i)]=2
for i in 'zxcvbnmZXCVBNM':
num[ord(i)]=3
flag=0
for i in words:
flag=0
a=num[ord(i[0])]
for j in range(1,len(i)):
if a!=num[ord(i[j])]:
flag=1
if flag==0:
ans.append(i)
return ans