程序员面试金典: 9.1数组与字符串 3判断一个字符串字符重新排列后是否可变成另一个字符串

来源:互联网 发布:新日铁住金软件 编辑:程序博客网 时间:2024/04/29 01:44
#include <iostream>#include <stdio.h>#include <string>#include <algorithm>using namespace std;/*问题:给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串分析:字符串排列后的能否变成另一个字符串=对两个字符串排序,排序后比较若相同,则说明经过排列后      其中一个字符串可以变成另一个字符串  如果两个字符串不等,肯定不可以输入:cao chaomach cahm输出:noyes关键:1 利用排列后是否可以变成另一个字符串,说明两个字符串所组成的字符相同,即可根据对字符串排序后是否相等来做*/bool isCanChange(string& str1 , string& str2){if(str1.length() != str2.length()){return false;}sort(str1.begin() , str1.end());sort(str2.begin() , str2.end());if( str1 == str2){return true;}else{return false;}}int main(int argc, char* argv[]){string str1; string str2;while(cin >> str1 >> str2){bool flag = isCanChange(str1 , str2);if(flag){cout << "yes" << endl;}else{cout << "no" << endl;}}system("pause");return 0;}


0 0