字元串
S
和
T
隻包含小寫字元。在
S
中,所有字元隻會出現一次。
S
已經根據某種規則進行了排序。我們要根據
S
中的字元順序對
T
進行排序。更具體地說,如果
S
中
x
在
y
之前出現,那麼傳回的字元串中
x
也應出現在
y
之前。
傳回任意一種符合條件的字元串
T
。
示例:
輸入:
S = "cba"
T = "abcd"
輸出: "cbad"
解釋:
S中出現了字元 "a", "b", "c", 是以 "a", "b", "c" 的順序應該是 "c", "b", "a".
由于 "d" 沒有在S中出現, 它可以放在T的任意位置. "dcba", "cdba", "cbda" 都是合法的輸出。
注意:
-
的最大長度為S
,其中沒有重複的字元。26
-
的最大長度為T
。200
-
和S
隻包含小寫字元。T
class Solution {
public:
string customSortString(string S, string T) {
string res = "";
map<char, int>mp;
for(auto c: T) mp[c]+=1;
for(auto c: S){
res += string(mp[c], c); //mp[c]個 c
mp[c] = 0;
}
for(auto a:mp){
res += string(a.second, a.first);
}
return res;
}
};