242. Valid Anagram

问题描述

解决方案

数组的方法

 class Solution {
public:
    bool isAnagram(string s, string t) {
        int count_s[26]={0}, count_t[26]={0};
        if (s.length() != t.length())
            return false;
        for (int i=0;i<s.length();i++)
        {
            count_s[s[i]-'a']++;
            count_t[t[i]-'a']++;
        }
        for (int j=0;j<26;j++)
        {
            if (count_s[j]!=count_t[j])
                return false;
        }
        return true;
    }
};

容器的方法

class Solution {
public:
    bool isAnagram(string s, string t) {
         if(s.size()!=t.size()) return false;
         unordered_map<char,int> ms,mt;
         for(int i=0;i<s.size();++i)
         {
             ms[s[i]]++;
             mt[t[i]]++;
         }
         for(unordered_map<char,int>::iterator iter=ms.begin();iter!=ms.end();++iter)
         {
             if(ms[iter->first]!=mt[iter->first]) return false;
         }
         return true;
    }
};
posted @ 2016-08-21 10:58  弦断  阅读(108)  评论(0编辑  收藏  举报