Skip to content

Instantly share code, notes, and snippets.

@ThunderXu
Created February 23, 2013 01:58
Show Gist options
  • Save ThunderXu/5017976 to your computer and use it in GitHub Desktop.
Save ThunderXu/5017976 to your computer and use it in GitHub Desktop.
Given two strings, write a method to decide if one is a permutation of the other.
#include "stdafx.h"
#include <string>
#include <iostream>
const int SIZE = 256;
bool IsPermutation(std::string, std::string);
int main()
{
using namespace std;
//two strings to compare
string str1;
string str2;
cin>>str1>>str2;
bool res = IsPermutation(str1,str2);
if(res)
{
cout<<"Is Permutation"<<endl;
}
else
{
cout<<"Is not Permutation"<<endl;
}
return 0;
}
bool IsPermutation(std::string str1, std::string str2)
{
int *chaCount = new int[SIZE]();
if(str1.size()==str2.size())
{
for(int i=0,size=str1.size();i<size;i++)
{
chaCount[int(str1[i])]++;
}
for(int i=0,size=str2.size();i<size;i++)
{
chaCount[int(str2[i])]--;
}
for(int i=0;i<SIZE;i++)
{
if(chaCount[i]!=0)
{
return false;
}
}
return true;
}
else
{
return false;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment