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

示例 1:

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

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

进阶:
如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?

方法一:
使用map哈希表来解决

class Solution {public:bool isAnagram(string s, string t) {if(s.size()!=t.size())return false;map<char, int> mymap;for(char c:s){mymap[c]++;}for (char a:t){if(--mymap[a]==-1)return false;}return true;}
};

方法二:
使用 sort()对string 进行排序后比较即可。

class Solution {public:bool isAnagram(string s, string t) {sort(s.begin(), s.end());sort(t.begin(), t.end());if(s==t)return true;elsereturn false;}
};


方法三:(其实和方法一基本一样,只不过是自己来实现哈希表)

class Solution {public:bool isAnagram(string s, string t) {int alphabet[26]={0};for(auto x:s){alphabet[x - 'a']++;}for(auto y:t){alphabet[y - 'a']--;}for (int i = 0; i < 26;i++){if(alphabet[i]!=0)return false;}return true;}
};

leetcode——242. 有效的字母异位词相关推荐

  1. LeetCode 242. 有效的字母异位词 (计数排序思想字符处理)

    242. 有效的字母异位词 题意: 任意给定两个单词字符串,判断这两个字符串是否是字母异位词 思路: 先判断字符串长度是否相等 将s字符串每个字母映射到数组中,在对应位置++ 将t字符串每个字母映射到 ...

  2. Java实现 LeetCode 242 有效的字母异位词

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

  3. LeetCode 242. 有效的字母异位词【哈希表】

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

  4. leetcode:242 : 有效的字母异位词

    题解: 我们可以用一个数组来统计字符串中各个字母出现的次数. 通过比较各自的统计数组的相同与否来判断是不是字母异位词 有题目可知道字母都是小写的,所以统计的数组大小为26即可. bool isAnag ...

  5. leetcode 242. 有效的字母异位词 思考分析

    题目 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 我们先考虑低阶版本,认为字符只有26种可能,然后将a ~ z的字符映射到数组的索引0 ~ 25,数组中存放的则是 ...

  6. leetcode 242. 有效的字母异位词

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

  7. 小白 LeetCode 242 有效的字母异位词

    字母异位词 字符串由相同字母组成,但允许排列顺序不同. 如"aaabbb" 与 "ababab" 是字母异位词, 而"aabb" 与 &qu ...

  8. Leetcode 242.有效的字母异位词(哈希表)

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

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

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

最新文章

  1. Android Wear开发 - 数据通讯 - 第二节 : 数据的发送与接收
  2. 边缘检测与轮廓检测有什么区别?
  3. Android--Genymotion虚拟机(模拟器)的配置
  4. bzoj1452: [JSOI2009]Count
  5. bash shell 循环读入每一行(转)
  6. 配置mysql使其允许外部ip进行登录
  7. 我在芝加哥大学经济学系的博士生涯
  8. 0.00...1是个什么数?
  9. 武汉传媒学院有计算机专业吗,武汉传媒学院比较好的专业有哪些呢?
  10. css隐藏内容样式方法(自适应页面常用)
  11. linux系统里route -n不起作用,Linux系统中的route解析
  12. java实现linux变量替换_linux java 配置 含环境变量 | 学步园
  13. 每天一算法(一)——用链表实现加减乘运算
  14. 信息技术必修丨网络文件扩展名与文件储存格式
  15. Layim 聊天功能
  16. 数据分析课堂笔记Day2(20221114)
  17. Topy Desk Privacy Policy
  18. 号码数字组合生成程序软件 可按照各种条件筛选过滤计算
  19. java 天猫模拟登陆_爬虫登录 最好是天猫爬虫登录 有经验的大神请赐教
  20. 我的k8s随笔:Kubernetes 1.17.0 部署

热门文章

  1. visual studio for mac的离线安装初体验
  2. .NET平台开源项目速览-最快的对象映射组件Tiny Mapper之项目实践
  3. Visual Studio/SQL Server系统开发常见问题归纳
  4. Android之网络请求提示Cleartext HTTP traffic to dev*******.com not permitted
  5. LeetCode之Nim Game
  6. Ubuntu之12.04常用快捷键——记住这些你就是高手啦!
  7. Android之6.0 权限申请封装
  8. android上传图片被旋转,input上传照片旋转解决办法
  9. javaweb连接不上mysql怎么办_java web应用连接mysql会突然connection连接失败
  10. springmvc 传对象报400_那么火的SpringMVC到底有什么过人之处呢