给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词,你可以假设字符串只包含小写字母

  • 解法一 异位词的中每个字母个个数相等字母类型相等

    class Solution:def isAnagram(self, s, t):from collections import defaultdicttemp = defaultdict(int) # 在key 不存在的情况下可以自加一for i in s:temp[i]+=1for j in t:if temp[j] != t.count(j):return Falseelse:return True
    
  • 解法二 通过字母的ascII 值来判断

    class Solution:def isAnagram(self, s, t):list1,list2 = [0]*26,[0]*26 # 占坑法for i in s:list1[ord(i)-ord("a")] +=1 # 给对应坑位上的字母个数加一for j in t:list2[ord(j)-ord("a")] +=1return list1 ==list2 # 如果是通过异位来的那么对应坑位上的数字是相等的
    
  • 解法三 利用结合 去分别计算 两个字符串的个个字符的个数

    class Solution:def isAnagram(self, s, t):if len(s) != len(t):return Falsetemp = set(s)for i in temp:if s.count(i) != t.count(i): # 如果不相等就不是异位词return Falseelse:return True
    
  • 解法四 如果是异位词,那么排序后的字符串应给是相等的

    class Solution:def isAnagram(self, s, t):return sorted(s) == sorted(t)
    
  • 也可这么写,利用collections 中的计数器

    class Solution:def isAnagram(self, s, t):from collections import Counterreturn Counter(s) == Counter(t) # Counter 后会形成一个字典
    

异位词(LeetCode)相关推荐

  1. LeetCode简单题之有效的字母异位词

    题目 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词. 示例 1: 输入: s = ...

  2. LeetCode 49字母异位词分组50pow(x,n)51八皇后

    原创公众号:bigsai 如果不错记得点赞收藏! 关注回复 bigsai 领取Java进阶pdf资源,回复进群加入力扣打卡群. 上周打卡内容:43字符串相乘&44通配符匹配 45跳跃游戏&am ...

  3. LeetCode 2186. 使两字符串互为字母异位词的最少步骤数

    文章目录 1. 题目 2. 解题 1. 题目 给你两个字符串 s 和 t .在一步操作中,你可以给 s 或者 t 追加 任一字符 . 返回使 s 和 t 互为 字母异位词 所需的最少步骤数. 字母异位 ...

  4. LeetCode 438. 找到字符串中所有字母异位词(滑动窗口)

    1. 题目 给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引. 字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100 ...

  5. LeetCode 1347. 制造字母异位词的最小步骤数

    1. 题目 给你两个长度相等的字符串 s 和 t.每一个步骤中,你可以选择将 t 中的 任一字符 替换为 另一个字符. 返回使 t 成为 s 的字母异位词的最小步骤数. 字母异位词 指字母相同,但排列 ...

  6. LeetCode 49. 字母异位词分组(哈希)

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

  7. 【LeetCode】【HOT】438. 找到字符串中所有字母异位词(滑动窗口)

    [LeetCode][HOT]438. 找到字符串中所有字母异位词 文章目录 [LeetCode][HOT]438. 找到字符串中所有字母异位词 package hot;import java.uti ...

  8. 【LeetCode】【HOT】49. 字母异位词分组(递归)

    [LeetCode][HOT]49. 字母异位词分组 文章目录 [LeetCode][HOT]49. 字母异位词分组 package hot;import java.util.ArrayList; i ...

  9. LeetCode 49 字母异位词分组

    力扣 思路:哈希表: 排序:对两个字符串分别进行排序之后得到的字符串是相同的 将排序之后的字符串作为哈希表的键     (参考LeetCode官方题解)  定义哈希表 unordered_map< ...

最新文章

  1. 我们真的需要深度图神经网络吗?
  2. python set过滤
  3. 蓝桥杯 历届试题 九宫重排
  4. leetcode-654-最大二叉树
  5. [蓝桥杯][2017年第八届真题]正则问题(DFS)
  6. 7-1 矩阵链相乘问题 (20 分)(思路+详解+题目解析) 动态规划做法
  7. 网易严选Java开发三面面经:mysql索引面试题
  8. scrapy爬取天气存MySQL_Scrapy实战篇(五)之爬取历史天气数据
  9. 泛微协同办公e-cology9.0的Ecode二次开发实例说明
  10. 【校招VIP】产品项目分析之竞品分析
  11. 闲鱼x-sign, x-mini-wua算法签名接口调用
  12. MTK山寨机个性化DIY移植MRP初步探讨
  13. Excel如何快速验证银行卡号和姓名是否一致?
  14. 【es】es界面化管理工具cerebro的安装和使用
  15. Linux系统中的权限详解
  16. [Thoughts]敏捷方法大全
  17. 20150128-堆雪人
  18. 衬线字体和无衬线字体区别_字体,字体和字体系列有什么区别?
  19. 零基础自学SQL课程 | 子查询
  20. idea编辑jsp页面部分页面变黄绿色并且不提示,解决很简单,设置里边找language injection就ok...

热门文章

  1. 商务礼仪——尊重、适合、适合的尊重
  2. 批处理bat Windows脚本实现获取本机所有MAC地址
  3. iPhone 存高危漏洞秒变木马
  4. 【EXCEL】批量处理科学技术法的列为文本的函数
  5. B站,竟然成了一个求偶平台。
  6. SAP SD CMD_EI_API=>MAINTAIN 创建客户主数据
  7. 升米恩斗米仇,驳”开源侵略论”
  8. 微服务商城系统(十六)秒杀核心
  9. wince下使用activesync
  10. 转发:饿了么4年 + 阿里2年:研发路上的思考和总结