您的位置:首页 > 其它

LeetCode 242. Valid Anagram

2016-07-21 18:10 309 查看

描述

给出两个字符串,判断这两个字符串是不是由相同数目的相同字符构成的

解决

方法一

利用sort排序,然后再判断两个字符串是否相等。

class Solution {
public:
bool isAnagram(string s, string t) {
sort(s.begin(), s.end());
sort(t.begin(), t.end());
return s == t;
}
};


方法二

用一个辅助数组存字符在字符串中出现的次数,最后判断这个统计数组是否存在非0值

class Solution {
public:
bool isAnagram(string s, string t) {
int n = s.length();
unordered_map<char, int> counts;
for (int i = 0; i < n; i++) {
counts[s[i]]++;
counts[t[i]]--;
}
for (auto count : counts)
if (count.second){
return false;
}
return true;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: