leetcode—242. Valid Anagram 判断由颠倒字母顺序而构成的词,python字典的应用

本文介绍了一个简单的Python函数,用于判断两个字符串是否通过颠倒字符顺序相互转换而成。通过使用字典来统计每个字符串中字符的出现频率,可以高效地解决这个问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:

Given two strings s and t, write a function to determine if t is an anagram of s.

For example,
s = "anagram", t = "nagaram", return true.
s = "rat", t = "car", return false.

Note:
You may assume the string contains only lowercase alphabets.



题意:

给定两个字符串s和t,写一个函数判断字符串t是否是由字符串s的字母颠倒顺序后得到的。


代码:

class Solution(object):
    def isAnagram(self, s, t):
        """
        :type s: str
        :type t: str
        :rtype: bool
        """
        
        if len(s) != len(t) :
            return False
        else :
            dict1 = dict()
            dict2 = dict()
            
            for x in s :                            #初始化字典的每个key的value值为0
                dict1[x] = 0 
            
            for x in t :
                dict2[x] = 0
                
            for x in s :                                      #统计s中每个key出现的次数
                dict1[x] = dict1[x] + 1
            
            for x in t :                                           #统计t中每个key出现的次数
                dict2[x] = dict2[x] + 1
            
            for x in dict1 :
                if x not in dict2 :                                    #如果s和t中key不一样,直接false
                    return False
                else :
                     if dict1[x] != dict2[x] :                              #如果s和t中key一样,但出现次数不一样,直接false
                         return False
            return True                                             #否则,每个key一样,且出现次数一样,返回True
            


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值