为什么第一个通过,第二个不行呢?
class Solution { public: bool isAnagram(string s, string t) { if(s.size() != t.size()) return false; vector<int> coll(26,0); for(long i=0;i<s.size();i++) { coll[s[i]-‘a‘]++; } for(long i=0;i<s.size();i++) { if(coll[t[i]-‘a‘] == 0) return false; else coll[t[i]-‘a‘]--; } for(auto i:coll) { if(i != 0) return false; } return true; } };
class Solution { public: bool isAnagram(string s, string t) { if(s.size() != t.size()) return false; vector<long> coll(26,0); for(long i=0;i<s.size();i++) { coll[s[i]-‘a‘]++; } for(long i=0;i<s.size();i++) { if(coll[t[i]-‘a‘] == 0) return false; coll[t[i]-‘a‘]--; } for(int i=0;i<s.size();i++) if(coll[i] != 0) return false; return true; } };
LeetCode() Valid Anagram 有问题!!!
原文:http://www.cnblogs.com/yanqi110/p/4990931.html