Leetcode 500. 键盘行
本文最后更新于242 天前,其中的信息可能已经过时,如有错误请发送邮件到2446865563@qq.com

1.题目基本信息

1.1.题目描述

给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。

请注意,字符串 不区分大小写,相同字母的大小写形式都被视为在同一行。

美式键盘 中:

  • 第一行由字符 "qwertyuiop" 组成。

  • 第二行由字符 "asdfghjkl" 组成。

  • 第三行由字符 "zxcvbnm" 组成。

1.2.题目地址

https://leetcode.cn/problems/keyboard-row/description/

2.解题方法

2.1.解题思路

遍历+哈希表

2.2.解题步骤

第一步,获取word[0]在第几个哈希表中

第二步,判断后续字符是否都在该哈希表中

3.解题代码

python代码

class Solution:
    def findWords(self, words: List[str]) -> List[str]:
        # 思路:哈希表
        sets = [set("qwertyuiop"), set("asdfghjkl"), set("zxcvbnm")]
        result = []
        for word in words:
            # 第一步,获取word[0]在第几个哈希表中
            index = 0
            while word[0].lower() not in sets[index]:
                index += 1
            # 第二步,判断后续单词是否都在哈希表中
            ok = True
            for c in word[1:]:
                if c.lower() not in sets[index]:
                    ok = False
                    break
            if ok:
                result.append(word)
        return result

4.执行结果

觉得有帮助可以投喂下博主哦~感谢!

作者:geek007

转载请注明文章地址及作者哦~
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇