当前位置: 代码迷 >> 综合 >> 给定两个字符串,判定它们是否是彼此的全排列
  详细解决方案

给定两个字符串,判定它们是否是彼此的全排列

热度:4   发布时间:2024-01-20 03:12:20.0

解法一思路:如果这两个字符串是彼此的全排列,那么无论如何变化,每个字符出现的次数一定相同。一旦需要统计一个元素集中元素出现的次数,我们就应该想到hash table。

bool isPermutation(string stringA,string stringB)
{if(stringA.length() != stringB.length()){return false;}unordered_map<char,int> hashMapA;unordered_map<char,int> hasnMapB;for(int i=0;i<stringA.length();i++){hashMapA[stringA[i]]++;hashMapB[stringB[i]]++;}if(hashMapA.size() != hashMapB.size()){return false;}unordered_map<char,int>::iterator it;for(it = hashMapA.begin();it != hashMapA.end();it++){if(it->second != hashMapB[it->first]){return false;}}return true;
}

 

  相关解决方案