[leetcode]791. Custom Sort String
Analysis
周五ummmmmm—— [啊啊啊啊 paper结果要出来了,心塞]
S and T are strings composed of lowercase letters. In S, no letter occurs more than once.
S was sorted in some custom order previously. We want to permute the characters of T so that they match the order that S was sorted. More specifically, if x occurs before y in S, then x should occur before y in the returned string.
Return any permutation of T (as a string) that satisfies this property.
先找出T中所包含的S中的字符,把这些字符按照S中的顺序写出来,然后再把T中剩下的字符加在后面就可以了~
Implement
class Solution {
public:
string customSortString(string S, string T) {
map<char, int> mymap;
for(char c='a'; c<='z'; c++)
mymap[c] = 0;
for(int i=0; i<T.size(); i++)
mymap[T[i]]++;
string res = "";
for(auto s:S){
while(mymap[s] > 0){
res += s;
mymap[s]--;
}
}
for(char c='a'; c<='z'; c++){
while(mymap[c] > 0){
res += c;
mymap[c]--;
}
}
return res;
}
};