给定两个字符串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. Exadata上的分页查询性能测试
  2. 第2课:关闭被黑客扫描的端口
  3. 大学生必须要知道的毕业设计基本流程
  4. poj3264RMQ
  5. 《学习OpenCV3》第10章 滤波与卷积
  6. ORM框架之Mybatis(一)基于mapper配置增删改查
  7. 设计模式综和实战项目x-gen系列一
  8. 【Linux】【Services】【Package】编译安装
  9. 使用javadoc命令制作帮助文档(API)
  10. python pyfile py_Python中py文件引用另一个py文件变量的方法
  11. echarts无数据时显示暂无数据或者用图片代替
  12. 状态压缩dp学习小记part1
  13. 爱的能力(徐博客写的-收藏下)
  14. mysql win10 优化设置_Win10电脑优化必做的几个优化技巧提升速度!
  15. 计算机专业综合改革举措,数学与应用数学专业综合改革的举措数学论文(9页)-原创力文档...
  16. 计算机视觉方向简介 | 深度学习3D重建
  17. Rabin-Karp算法 (拉宾-卡普)
  18. 事理图谱:事件演化的规律和模式
  19. win10怎么将txt转换为html,win10怎么把txt格式改成bat_win10系统txt文件改成bat操作方法-win7之家...
  20. HDMI转MIPI DSI芯片方案TC358870XBG

热门文章

  1. Python实现员工管理系统GUI
  2. WinForm窗体——文件操作
  3. linux 网络监控和性能参数调优
  4. hb哈勃公链_骗子云集的哈勃公链HB属鸵鸟的,开盘之前还要烧香祭天!?
  5. 模具厂干了将近三年,目前想学模具设计,好学吗
  6. Caché 从入门到精通
  7. binance 币本位交割合约期限套利交易(三)--获取基差数据
  8. AMS TMF8820/21/28 confidence介绍
  9. 「好书·推荐」李筱懿《情商是什么》
  10. 【数集项目之 MCDF】(四) 整形器 formatter