OA 字符串排序
作者:
Leo_88
,
2024-02-21 17:30:24
,
所有人可见
,
阅读 38
struct node {
string newCodes;
string codes;
};
bool cmp(const node& a, const node& b) {
return a.newCodes < b.newCodes;
}
vector<string> sortProductCodes(string order, vector<string> productCodes) {
char box[30];
for (int i = 0; i < order.size(); i++) {
box[order[i] - 'a'] = 'a' + i;
}
vector<node> tmp;
for (string s : productCodes) {
node t;
t.codes = s;
t.newCodes = "";
for (int j = 0; j < s.size(); j++) {
t.newCodes += box[s[j] - 'a'];
}
tmp.push_back(t);
}
sort(tmp.begin(), tmp.end(), cmp);
vector<string> result;
for (node n : tmp) {
result.push_back(n.codes);
}
return result;
}