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:输入: ...
最新文章
- 计算机 程序 原理,计算机储存程序和程序原理是谁提出来的
- java基础===点餐系统
- HDOJ(HDU) 1977 Consecutive sum II(推导、、)
- [Linux] Linux smaps接口文件结构
- Bit-Z携手Bit-MY落户马来西亚 已获得经营牌照
- 对刺客历史的一种颠覆:说说《最后的刺客》
- 王道考研 计算机网络20 应用层 客户端/服务器C/S模型 P2P模型 DHCP协议 域名解析系统DNS 文件传送协议FTP 万维网 超文本传输协议HTTP
- 84岁院士坚持健身搞科研!病床上辅导多名硕博生完成论文
- 2021快手美妆行业数据营销报告
- 3D溜溜网站用的是php吗_三大免费开源的php语言cms系统 用好它们让你一天建好一个网站...
- 从无到有整合SpringMVC-MyBatis项目(2):搭建SpringMVC项目
- 太好了 | 这篇写的太好了!Spring Boot + Redis 实现接口幂等性
- viewstub学习笔记
- 中国知网 博硕士论文 PDF下载 及书签自动生成
- 新手建站之【网站备案】③
- 耗时2天,我自制了一台体感游戏机
- 如何将PDF扫描件转换为JPG图片格式?PDF转JPG图片教程
- 华为鸿蒙手机什么时候出售,南财快评:鸿蒙出世,现在明白任正非为什么会说“宁可卖5G,也不会卖终端”了...
- 用计算机观察声音的波形,用几何画板观察声音的波形
- K8S==springboot项目生成image部署到K8S