方法一:排序

解题思路:

C++中,直接用sort函数,对两个字符串进行排序,然后做比较。

class Solution {
public:bool isAnagram(string s, string t) {//直接对string做排序sort(s.begin(), s.end());sort(t.begin(), t.end());return s == t;}
};

方法二:哈希表

解题思路:

使用C++的unordered_map来记录字符串s和t的字符个数,技巧之一在于只使用一个hash表,对字符串s中的额字符,做累加计数,对字符串t中的字符做减计数。

遍历完这两个字符串之后,理论上应该所有字符的计数值为0,如果有不为0的字符,则返回false。

class Solution {
public:bool isAnagram(string s, string t) {if(s.length() != t.length()) return false;unordered_map<char, int> mp;for(int i = 0; i < s.length(); i++){mp[s[i]]++;mp[t[i]]--;}for(auto a : mp){if(a.second) return false;  //如果某一个字符个数不为0,就返回false}return true;}
};

方法三:使用数组

解题思路:

因为题目中已说明只有小写字母,意味着只有26种可能的字符,可以用一个维数为26的一维数组,记录对应字母的个数,解题思路跟方法二一致。

Leetcode 242. 有效的字母异位词 解题思路及C++实现相关推荐

  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 的字母异位词. 示例 1: 输入: s = "anagram", t = "nagaram& ...

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

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

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

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

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

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

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

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

最新文章

  1. PCL使用RANSAC拟合三位平面
  2. C++ 最大公约数排序
  3. Win7系统下装Linux操作系统详细流程(图文)
  4. Ansible常用模块详解
  5. Zend_Feed 的项目实际应用
  6. spring mvc学习(15)Referenced file contains errors
  7. 你应该知道的 iTerm2 使用方法--MAC终端工具
  8. 软考网络工程师学习笔记4-局域网与城域网
  9. 丰田要建专属自动驾驶测试场,再也不用共享了
  10. freopen()函数
  11. Halcon PDF文档(hdevelop_users_guide)学习总结之六——Halcon如何导出C++代码
  12. abp后台任务BackGroundWorker
  13. 最强联合!北大清华互相开放本科课程(附课程名单)
  14. GEE(Google Earth Engine)批量导入谷歌云盘
  15. win7计算机管理快捷键,win7系统快捷键有哪些|win7常用的15个快捷键
  16. sublime添加到右键的注册表文件
  17. Android 应用和系统优化V1.2
  18. RK3399平台开发系列讲解(外设篇)3.35、GMAC RGMII Delayline Guide 窗口配置
  19. 无线路由器dns服务器是什么意思,无线路由器dns是什么
  20. Information Bottleneck 信息瓶颈

热门文章

  1. java 进入catch,JAVA + try catch(FileNotFoundException e)进入catch(Exception e)?
  2. php-cgi导致的502 Bad Gateway错误
  3. BZOJ.1032.[JSOI2007]祖码(区间DP)
  4. 分治算法求乘方a^b 取余p(divide and conquer)
  5. 【思维】中位数与顺序统计
  6. (jQuery,YUI)哪一个适合我?
  7. 爆料!传阿里人靠脸吃饭真相是......
  8. git撤销/回退操作
  9. 高通camera驱动分析
  10. msm8909相关事宜