1. 题目



2. 代码
class Solution {
public:
string sortString(string s) {
char map[26] = {0};
int size = s.length();
string ans = "";
// 提取字符
for(int i = 0; i < size; i++){
map[s[i] - 'a']++;
}
while(size != 0){
for(int i = 0; i < 26; i++){
if(map[i] > 0){
ans += char(i + 'a');
map[i]--;
size--;
}
}
for(int i = 25; i >= 0; i--){
if(map[i] > 0){
ans += char(i + 'a');
map[i]--;
size--;
}
}
}
return ans;
}
};
本文介绍了一种使用字符映射表进行字符串排序的算法实现。通过两次遍历,首先统计字符串中各字符出现次数,然后按字母顺序重新构造字符串,确保了排序的正确性和效率。
1041

被折叠的 条评论
为什么被折叠?



