两个字符串是否为变形词

来源:互联网 发布:三六五网络 编辑:程序博客网 时间:2024/05/16 23:56

/*
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  0bool 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
原创粉丝点击