1.3 给定两个字符串,请编写程序,确定其中一个字符串的字符重新排序后,能否变成另一个字符串。
C++实现代码:
#include<iostream> #include<map> #include<string> using namespace std; bool isEqual(string s1,string s2) { map<char,int> mp; if(s1.length()!=s2.length()) return false; size_t i; for(i=0;i<s2.length();i++) mp[s2[i]]++; for(i=0;i<s1.length();i++) mp[s1[i]]--; auto mp_iter=mp.begin(); while(mp_iter!=mp.end()) { if(mp_iter->second!=0) return false; mp_iter++; } return true; } int main() { string s1="abcdba"; string s2="acbbca"; cout<<isEqual(s1,s2)<<endl; }