美文网首页
异位字符串

异位字符串

作者: 极客匠 | 来源:发表于2019-11-28 23:44 被阅读0次

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

示例 1:

输入: s = "anagram", t = "nagaram"
输出: true
示例 2:

输入: s = "rat", t = "car"
输出: false
说明:
你可以假设字符串只包含小写字母。

解题思路

  1. 利用collections.Counter(),对字符串进行计数,并存入字典中counter_s,counter_t
  2. 如果counter_s,counter_t的长度不同,则两个字符串不是异位字符串
  3. 如果counter_s,counter_t的长度相同,则遍历s,通过判断counter_s,counter_t的每个字符的数量是否相等,如果每个字符的数量都相同,则是异位字符串,反之则不是
class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        
        counter_s = collections.Counter(s)
        counter_t = collections.Counter(t)
        if(len(counter_s) != len(counter_t)):
            return False
        for c in s:
            if counter_s[c] != counter_t[c]:
                return False
        return True

解题二

  1. 利用collections.Counter(),对字符串进行计数,并存入字典中counter_s,counter_t
  2. 直接比较counter_s,counter_t,如果相同则返回True,反之则返回False
class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        return collections.Counter(s) == collections.Counter(t)

这样的计算速度更快

相关文章

  • leetCode进阶算法题+解析(六)

    字母异位词分组 题目:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例...

  • LeetCodeDay37 —— 字母异位词分组★★★

    49. 字母异位词分组 描述 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串...

  • 49. 字母异位词分组

    49. 字母异位词分组 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示...

  • 力扣49 字母异位词分组

    题目:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 思路:遍历字符串中每...

  • LeetCode 字母异位词分组 Rust

    LeetCode 字母异位词分组 Rust 题目 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同...

  • leecode 49 字母异位词分组

    题目:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: ["...

  • 字母异位词分组

    题目:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: ["...

  • 2020-07-12【leetcode-字符串】字谜分组

    【leetcode-字符串】字谜分组 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同...

  • Day29 字母异位词分组

    给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串 https://leetco...

  • 438-找到字符串中所有字母异位词

    找到字符串中所有字符异位词 题目 给定一个字符串s和一个非空字符串p,找到s中所有是p的字母异位词的子串,返回这些...

网友评论

      本文标题:异位字符串

      本文链接:https://www.haomeiwen.com/subject/cktwwctx.html