Valid Anagram

判断两个字符串是否为异位词,意思是判断两个字符串有相同数量的字母。

Input: s = "anagram", t = "nagaram"
Output: trueInput: s = "rat", t = "car"
Output: false

有三种解法:
第一种最简单:
先对s和t排序,再对比是否相等

def isAnagram(self, s, t):""":type s: str:type t: str:rtype: bool"""return sorted(s) == sorted(t)    

第二种使用哈希表计数:

 def isAnagram(self, s, t):dict1 = {}dict2 = {}for i in s:if i in dict1:dict1[i] += 1else:dict1[i] = 1for j in t:if j in dict2:dict2[j] += 1else:dict2[j] = 1

遍历一个字符串,看字母在不在哈希表中,在的话就加1,不在就设置为1.

第三种使用列表实现哈希表

def isAnagram(self, s, t):dic1,dic2 = [0]*26,[0]*26for i in s:dic1[ord(i) - ord('a')] += 1for i in t:dic2[ord(i) - ord('a')] += 1return dic1 == dic2

先初始化列表,再用字母的ASCII码减去a的ASCII码,等到的列表index += 1,26字母对应0-25的索引值。

异位词判断,python解法相关推荐

  1. 字母异位词分组Python解法

    给你一个字符串数组,请你将 字母异位词 组合在一起.可以按任意顺序返回结果列表. 字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次. 来源:力扣(LeetCod ...

  2. Leetcode 242.有效的字母异位词 By Python

    给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词. 示例 1: 输入: s = "anagram", t = "nagaram" ...

  3. 有效的字母异位词 四种解法(Python)

    LeetCode链接 排序 时间复杂度 O(NlogN) class Solution:def isAnagram(self, s: str, t: str) -> bool:return le ...

  4. 【LeetCode】49.字母异位词分组 (三种解法开拓思路,java实现)

    49. 字母异位词分组 分析 方法一:排序数组分类 思路 当且仅当它们的排序字符串相等时,两个字符串是字母异位词. 算法 维护一个映射 ans : {String -> List},其中每个键 ...

  5. LeetCode:242(Python)—— 有效的字母异位词(简单)

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

  6. python 有效的字母异位词

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

  7. 有效的字母异位词python(leetcode242)

    #242. 有效的字母异位词 第一个哈希表题目 输入: s = "anagram", t = "nagaram" 输出: true 输入: s = " ...

  8. Python学习笔记(35)~异位词

    异位词 概念         两个字符串的字母种类和字母对应数量是否相同,相同即是有效的字母异位词.         举个简单例子:"abbcd"和"dbabc" ...

  9. 算法训练Day6 | LeetCode:242. 有效的字母异位词(数组作哈希表);349. 两个数组的交集(Set作哈希表);202.快乐数 (Set作哈希表);1. 两数之和(Map作哈希表)

    目录 LeetCode242. 有效的字母异位词 方法:数组作哈希表 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 Leetcode349. 两个数组的交集 方法一:用Set作HashMa ...

最新文章

  1. linux 入门-1
  2. 20180320作业1:源代码管理工具调查
  3. ReentrantLock可重入锁的使用场景(转)
  4. 【alibaba-cloud】nacos详解
  5. 前嗅ForeSpider教程:创建模板
  6. 阿里云各个地域节点速度测试(测试点到阿里云各站点)
  7. python S2-45 漏洞利用工具
  8. Postgresql的基本操作
  9. OSI体系结构图和TCP/IP体系结构图
  10. 关于画法几何和机械制图有感
  11. linux wifi驱动开发 二,Linux 下wifi 驱动开发(二)—— WiFi模块浅析
  12. 【第五篇】Maven系列教程-聚合工程
  13. 测试歌词的软件,测试、修改LRC歌词工具
  14. C语言数码管节日灯,硬件课程设计报告可编程节日彩灯(C语言).pdf
  15. DAEMON Tools Lite 虚拟光驱,安装iso文件,提示需要管理员权限的问题解决
  16. iOS arc weak指针原理
  17. IE-LAB网络实验室:华为认证 北京华为认证,思科ccie,sp ccie 思科ccnp 华为AAA认证详解
  18. 【教程】php在图片上添加文字
  19. 输入框连续删除,光标闪烁问题
  20. Window11环境变量配置

热门文章

  1. webpack+ES6+less开发环境搭建(附带视频教程)
  2. 中兴c300业务板_全新中兴C300 OLT ETGO板卡 业务板 EPON PON板 GTGO板卡
  3. 韶关学院计算机科学与技术代码,2009年韶关学院各专业代码
  4. 电信网通全国DNS 列表
  5. 凌讯消防装备管理系统(3)
  6. “未来可期,遇见更好的自己儿童成长小组”第二节活动
  7. 小猿理财:巴菲特推荐了ETF指数基金,没推荐增强型指数基金,原来道理在这!
  8. 知识图谱从哪里来:实体关系抽取的现状与未来
  9. qt+opencv实现拍照,打开视频,图像处理操作
  10. 做音视频开发要掌握哪些知识?