242.[LeetCode]Valid Anagram

题意:判断两个字符串是否包含同样的字符,内容相同只有顺序不同

我的思路:给两个字符串排序,然后作比较

这样大部分的工作都可以由函数库完成了,排序要加的头文件#include “algorithm”,求绝对值要加的头文件 #include “math.h”

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

大神思路

class Solution {
public:
    bool isAnagram(string s, string 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;
    }
};

你可能感兴趣的:(LeetCode)