如果两个字符串中的字符一样,出现的次数也一样,只是出现的顺序不一样,那么他们就是兄弟字符串,比如“abc”和“bca”;
要求:在字典中查找兄弟字符串?
思路:
1.现将字符串进行排序
2.排序后的字符串是否对应相等
代码:
1 #include<iostream>
2 #include<algorithm>
3 #include<string>
4 using namespace std;
5 bool Isbrother(string &a,string &b)
6 {
7 int i,j;
8 int temp1,temp2;
9 if(a.length() != b.length())
10 return false;
11 sort(a.begin(),a.end());
12 sort(b.begin(),b.end());
13 for(i=0;i<a.length();i++)
14 {
15 if(a[i] != b[i])
16 return false;
17 }
18 return true;
19 }
20
21 void main()
22 {
23 string a="ASDF";
24 string b="FGKA";
25 if(Isbrother(a,b))
26 {
27 cout<<"YES"<<endl;
28 }
29 else
30 {
31 cout<<"NO"<<endl;
32 }
33 }