题解 | #字符串排序#用26个队列保存所有字母

字符串排序

https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584

#include <iostream>
#include <string>
#include <vector>
#include <bits/stdc++.h>

using namespace std;

int main(){
    string str, line;
    getline(cin, line);

    int len = line.size();
    vector<queue<char>> f(26);
    for(int i=0; i<len; ++i) {
        char a = line[i];
        if(isalpha(a)) {
            f[tolower(a) - 'a'].push(a);
        }
    }
    
    int i=0;
    for(int j=0; j<26; ++j) {
        while(!f[j].empty()) {
            if(isalpha(line[i])) {
                line[i] = f[j].front();
                f[j].pop();
            }
            ++ i;
            if(i == len) break;
        }
        if(i == len) break;
    }

    cout << line << endl;
    return 0;
}

全部评论

相关推荐

今年hc多吗。。双非真无力了
投递比亚迪等公司10个岗位
点赞 评论 收藏
分享
北斗导航Compas...:.......牛客上的通过初筛屁用没有,纯自我感动
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
野猪不是猪🐗:阿里系官网投递就是这个样子。它不会向tx那样意向组不捞自动共享到全局池子。阿里系你投那个组就只有哪个组能看到。而大部分组是不招人了,所以你什么简历投过去都是挂
投递阿里巴巴集团等公司10个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务