当前位置:网站首页>【LeetCode】242. 有效的字母异位词
【LeetCode】242. 有效的字母异位词
2022-07-31 10:03:00 【酥酥~】
题目
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。
示例 1:
输入: s = “anagram”, t = “nagaram”
输出: true
示例 2:
输入: s = “rat”, t = “car”
输出: false
提示:
1 <= s.length, t.length <= 5 * 104
s 和 t 仅包含小写字母
进阶: 如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?
题解
长度不等则直接退出
使用哈希表存储第一个字符串的字符频率
然后对第二个字符串遍历对频率做–运算,遇到-1则为否
class Solution {
public:
bool isAnagram(string s, string t) {
int len1 = s.length();
int len2 = t.length();
if(len1!=len2)
return false;
unordered_map<char,int> mystr;
for(int i=0;i<len1;i++)
{
mystr[s[i]]++;
}
for(int i=0;i<len2;i++)
{
mystr[t[i]]--;
if(mystr[t[i]]<0)
return false;
}
return true;
}
};
使用排序方法,将字符串排序后进行逐个比较
遇到不相同则为否
class Solution {
public:
bool isAnagram(string s, string t) {
if(s.length() != t.length())
return false;
sort(s.begin(),s.end());
sort(t.begin(),t.end());
return s==t;
}
};
边栏推荐
- NowCoderTOP23-27 Binary tree traversal - continuous update ing
- js实现2020年元旦倒计时公告牌
- 学习笔记——七周成为数据分析师《第二周:业务》:业务分析框架
- Flink1.15源码阅读flink-clients——flink命令行帮助命令
- cocoaPods管理之后工程结构变化
- 【TCP/IP】Network Model
- Kotlin—基本语法 (四)
- Are postgresql range queries faster than index queries?
- 来n遍剑指--07. 重建二叉树
- 如何在 TiDB Cloud 上使用 Databricks 进行数据分析 | TiDB Cloud 使用指南
猜你喜欢
随机推荐
迪拜的超市---线段树双重懒标记+二分
Centos7 install mysql5.7
尚医通【预约挂号系统】总结
感情危机,朋友的网恋女友要和他闹分手,问我怎么办
LeetCode二叉树系列——101.对称二叉树
金鱼哥RHCA回忆录:CL210管理OPENSTACK网络--开放虚拟网络(OVN)简介(课后练习)
postgresql 范围查询比索引查询快吗?
centos7安装mysql5.7
Build finished with errors/Executable Not Found
PyQt5快速开发与实战 9.4 Matplotlib在PyQt中的应用
【微信小程序开发】生命周期与生命周期函数
Emotional crisis, my friend's online dating girlfriend wants to break up with him, ask me what to do
qt pass custom structure parameters in different threads
第二十二课,实例化(instancing)
loadrunner脚本--添加集合点
让动画每次重复前都有延迟
Use turtle to draw buttons
Flink1.15源码阅读——PER_JOB vs APPLICATION执行流程
Redis集群-哨兵模式原理(Sentinel)
Solve rpc error: code = Unimplemented desc = method CheckLicense not implemented