/*
1、判断两个字符串是否为变形词
【题目】给定两个字符串s1,s2, 如果s1和s2中出现的字符种类和字符次数一样多,则s1和s2互为变形词,实现函数判断两个字符串是否为变形次。
【例如】s1=”123”,s2=”321” ,return true;
s1=”123”,s2=”2113”, return false;
*/
#include<iostream>
#include<string>
#include<stdio.h>
using namespace std;
#if 0
bool IsDeformation(string str1,string str2)
{
if(str1.length() == 0|| str2.length() == 0 ||str1.length() != str2.length())
return false;
int map[256];
memset(map,0,sizeof(map));
for(int i = 0;i<str1.length();i++)
map[str1[i]]++;
for(int i = 0;i<str2.length();i++)
if(map[str2[i]]-- == 0)
return false;
return true;
}
int main()
{
string str1,str2;
cout<<"输入字符串s1:";
cin>>str1;
cout<<"输入字符串s2:";
cin>>str2;
if(IsDeformation(str1,str2))
cout<<str1<<"和"<<str2<<"互为变形词"<<endl;
else
cout<<str1<<"和"<<str2<<"不互为变形词"<<endl;
return 0;
}
#endif