《python算法与数据结构2000讲》0242. 有效的字母异位词

该博客讨论了如何判断两个字符串是否为有效的字母异位词,即它们包含的字符种类和数目相同。使用哈希表和排序作为解题策略,通过比较字符串长度和更新字符频次来实现判断。
摘要由CSDN通过智能技术生成

《python算法与数据结构2000讲》0242. 有效的字母异位词

  • 标签:字符串、哈希表、排序
  • 难度:简单

题目大意

给定两个字符串 s 和 t ,判断 t 和 s 是否使用了相同的字符构成(字符出现的种类和数目都相同)。

解题思路

  1. 先判断字符串 s 和 t 的长度,不一样直接返回 false;
  2. 分别遍历字符串 s 和 t。先遍历字符串 s,用哈希表存储字符串 s 中字符出现的频次;
  3. 再遍历字符串 t,哈希表中减去对应字符的频次,出现频次 < 0 则输出 false;
  4. 如果没出现频次 < 0,则输出 true。

代码

def isAnagram(self, s: str, t: str) -> bool:
    if len(s) != len(t):
        return False
    strDict = dict()
    for ch in s:
        if ch in strDict:
            strDict[ch] += 1
        else:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT狂飙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值