本文主要是介绍算法-有效的字母异位词,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这道题很简单,就不做过多的解释,只需要创建一个哈希表统计s中出现的次数,然后遍历t,如果没找到,或者找到了但是次数为0则返回错误,否则返回true。代码如下:
class Solution {
public:bool isAnagram(string s, string t) {if(s.length()!=t.length()){return false;}unordered_map<char,int>count;for(char c:s){count[c]++;}for(char c:t){if(count.find(c)==count.end()||count[c]==0){return false;}count[c]--;}return true;}
};
这里面那个count[c]==0,表示虽然找到了,但是超过了使用次数。可能有些人不太动这两个for(char c:s)的含义,第一个主要是统计s中字符的个数,第二个主要是为了验证字符在t中出现的次数。
这篇关于算法-有效的字母异位词的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!