Leetcode 242. 有效的字母异位词 解题思路及C++实现
方法一:排序
解题思路:
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++实现相关推荐
- LeetCode 242. 有效的字母异位词 (计数排序思想字符处理)
242. 有效的字母异位词 题意: 任意给定两个单词字符串,判断这两个字符串是否是字母异位词 思路: 先判断字符串长度是否相等 将s字符串每个字母映射到数组中,在对应位置++ 将t字符串每个字母映射到 ...
- Java实现 LeetCode 242 有效的字母异位词
242. 有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 示例 1: 输入: s = "anagram", t = " ...
- LeetCode 242. 有效的字母异位词【哈希表】
242. 有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词. 示例 ...
- leetcode:242 : 有效的字母异位词
题解: 我们可以用一个数组来统计字符串中各个字母出现的次数. 通过比较各自的统计数组的相同与否来判断是不是字母异位词 有题目可知道字母都是小写的,所以统计的数组大小为26即可. bool isAnag ...
- leetcode——242. 有效的字母异位词
问题描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 示例 1: 输入: s = "anagram", t = "nagaram& ...
- leetcode 242. 有效的字母异位词 思考分析
题目 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 我们先考虑低阶版本,认为字符只有26种可能,然后将a ~ z的字符映射到数组的索引0 ~ 25,数组中存放的则是 ...
- leetcode 242. 有效的字母异位词
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 示例 1: 输入: s = "anagram", t = "nagaram" ...
- 小白 LeetCode 242 有效的字母异位词
字母异位词 字符串由相同字母组成,但允许排列顺序不同. 如"aaabbb" 与 "ababab" 是字母异位词, 而"aabb" 与 &qu ...
- Leetcode 242.有效的字母异位词(哈希表)
传送门:力扣 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词. 示例 1:输入: ...
最新文章
- PCL使用RANSAC拟合三位平面
- C++ 最大公约数排序
- Win7系统下装Linux操作系统详细流程(图文)
- Ansible常用模块详解
- Zend_Feed 的项目实际应用
- spring mvc学习(15)Referenced file contains errors
- 你应该知道的 iTerm2 使用方法--MAC终端工具
- 软考网络工程师学习笔记4-局域网与城域网
- 丰田要建专属自动驾驶测试场,再也不用共享了
- freopen()函数
- Halcon PDF文档(hdevelop_users_guide)学习总结之六——Halcon如何导出C++代码
- abp后台任务BackGroundWorker
- 最强联合!北大清华互相开放本科课程(附课程名单)
- GEE(Google Earth Engine)批量导入谷歌云盘
- win7计算机管理快捷键,win7系统快捷键有哪些|win7常用的15个快捷键
- sublime添加到右键的注册表文件
- Android 应用和系统优化V1.2
- RK3399平台开发系列讲解(外设篇)3.35、GMAC RGMII Delayline Guide 窗口配置
- 无线路由器dns服务器是什么意思,无线路由器dns是什么
- Information Bottleneck 信息瓶颈
热门文章
- java 进入catch,JAVA + try catch(FileNotFoundException e)进入catch(Exception e)?
- php-cgi导致的502 Bad Gateway错误
- BZOJ.1032.[JSOI2007]祖码(区间DP)
- 分治算法求乘方a^b 取余p(divide and conquer)
- 【思维】中位数与顺序统计
- (jQuery,YUI)哪一个适合我?
- 爆料!传阿里人靠脸吃饭真相是......
- git撤销/回退操作
- 高通camera驱动分析
- msm8909相关事宜