前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >leetcode每日一题:242. 有效的字母异位词

leetcode每日一题:242. 有效的字母异位词

作者头像
用户3578099
发布2020-11-30 10:23:30
3600
发布2020-11-30 10:23:30
举报
文章被收录于专栏:AI科技时讯AI科技时讯

题目:

https://leetcode-cn.com/problems/valid-anagram/

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

示例 1:

代码语言:javascript
复制
输入: s = "anagram", t = "nagaram"
输出: true

示例 2:

代码语言:javascript
复制
输入: s = "rat", t = "car"
输出: false

说明:

你可以假设字符串只包含小写字母。

思路:

一:使用hash表存储,比较value的个数

代码语言:javascript
复制
class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        if s is None or t is None:
            return False
        if s == t:
            return True
        # bf
        s1 = {}
        s2 = {}
        for i in s:
            if i in s1:
                s1[i] += 1
            else:
                s1[i] = 1
        for j in t:
            if j in s2:
                s2[j] += 1
            else:
                s2[j] = 1
        if len(s1) != len(s2):
            return False
        for k, v in s1.items():
            if k in s2:
                if v == s2[k]:
                    continue
                else:
                    return False
            else:
                return False
        return True

二:使用hash表存储,每次遍历到的元素的时候一个存入,一个减去

代码语言:javascript
复制
class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        if s is None or t is None:
            return False
        if s == t:
            return True
        # 一加一减
        s1 = {}
        for i in s:
            if i in s1:
                s1[i] += 1
            else:
                s1[i] = 1
        for j in t:
            if j in s1:
                s1[j] -= 1
                if s1[j] < 0:
                    return False
            else:
                return False
        for k, v in s1.items():
            if v != 0:
                return False
        return True
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-11-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技时讯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档