原文地址:http://blog.csdn.net/flyljg/article/details/47206043
思路:
两种方法,sort()排序一种方法;另一种计数器解决。
代码实现:
解法一:排序之后判断相等
- class Solution {
- public:
- bool isAnagram(string s, string t) {
- sort(s.begin(), s.end());
- sort(t.begin(), t.end());
- return s == t;
- }
- };
- class Solution {
- public:
- bool isAnagram(string s, string t) {
- //sort(s.begin(),s.end());
- //sort(t.begin(),t.end());
- //return s==t;
- vector<int> count(26,0);
- for(int i=0;i<s.size();i++)
- {
- count[s[i]-'a']++;
- }
- for(int i=0;i<t.size();i++)
- {
- count[t[i]-'a']--;
- }
- for(int i=0;i<26;i++)
- {
- if(count[i]!=0)
- return false;
- }
- return true;
- }
- };