LeetCode 242 Valid Anagram
2024-10-10 21:15:28
Problem:
Given two strings s and t, write a function to determine if t is an anagram of s.
For example,
s = "anagram", t = "nagaram", return true.
s = "rat", t = "car", return false.
Summary:
给出字符串s和t,判断t是不是s的相同字母异序词。
Analysis:
1. Hash表,记录s中字母出现的次数,再判断t中的字母是否有相同出现频率。此方法也可以由map实现。
class Solution {
public:
bool isAnagram(string s, string t) {
int len1 = s.size(), len2 = t.size(), ch[] = {}; for (int i = ; i < len1; i++) {
int tmp = s[i] - 'a';
ch[tmp]++;
} for (int i = ; i < len2; i++) {
int tmp = t[i] - 'a';
ch[tmp]--;
} for (int i = ; i < ; i++) {
if (ch[i]) {
return false;
}
} return true;
}
};
2. 分别给两字符串中字符由小到大排序,判断排序后两字符串是否相等即可。但这个方法效率较低。
class Solution {
public:
bool isAnagram(string s, string t) {
sort(s.begin(), s.end());
sort(t.begin(), t.end()); return s == t ? true : false;
}
};
最新文章
- vim as python IDE
- DEDECMS之二 如何修改模板页
- 【matlab】合并两个cell
- 苹果会在明后年推出13寸屏iPad吗?
- 解决: osx内置vpn连接后无法ping自己的vpn ip地址
- Android 仿美团网,大众点评购买框悬浮效果之修改版
- hdu1907(anti-sg入门)
- CSS中animate属性
- apache配置虚拟主机的三种方式
- java设计模式--行为型模式--策略模式
- webpack中加载CSS
- Wolsey“强整数规划模型”经典案例之一单源固定费用网络流问题
- hadoop家族技能图谱
- asp.net处理机制管道事件
- 【转】Windows Server 2016 安装 IIS 服务时提示指定备用源路径
- python最大最小距离算法贴近度评价法
- C++ 全排列函数 std::next_permutation与std::prev_permutation
- 我觉得epoll和select最大的区别
- Linux中一些 不是很常用的配置修改
- STL源码分析-function