代码日记:242.有效的字母异位词

我们可以通过对两个字符串的字符进行计数,然后比较计数结果来判断两个字符串是否为字母异位词。
下面是详细的思路:

  • 创建一个map用于存储每个字符出现的次数。
  • 遍历字符串s,对每个字符进行计数,存储在map中。
  • 遍历字符串t,对每个字符进行计数,同时在map中减去计数。
  • 如果两个字符串中相同字符的计数完全一致,那么t就是s的字母异位词
func isAnagram2(s string, t string) bool {
    if len(s) != len(t) {
        return false
    }

    charCount := make(map[rune]int)

    // 对字符串s进行计数
    for _, char := range s {
        charCount[char]++
    }

    // 对字符串t进行计数,同时减去计数
    for _, char := range t {
        charCount[char]--
        if charCount[char] < 0 {
            return false // t中出现了s中没有的字符,或者t中某个字符出现次数超过s中的次数
        }
    }

    return true
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值