解题思路:
(1)将T中出现在S中的字符串进行排序,最后拼接上T中剩余字符串
class Solution {
public:
string customSortString(string S, string T) {
unordered_map<char,int> mp;
for(int i=0;i<S.length();i++) {
mp[S[i]]=i;
}
string P="",Q="";
for(int i=0;i<T.length();i++) {
if(mp.find(T[i])!=mp.end()) P+=T[i];
else Q+=T[i];
}
auto comp=[&mp](const char a,const char b) {
if(mp[a]<mp[b]) return true;
else return false;
};
sort(P.begin(),P.end(),comp);
return P+Q;
}
};