题解 | #字符串排序#

字符串排序

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

写之前不知道multimap,用的vector二维数组,写完后流下了悔恨的泪水。。。
#include <bits/stdc++.h>
using namespace std;

int main(){
    vector<vector<int>> vec(27);
    string s;
    int n, m, j;
    getline(cin, s);
    for(int i= 0; i< s.length(); ++i)
        if(s[i]>= 'a'&& s[i]<= 'z' || s[i]>= 'A'&& s[i]<= 'Z')
            vec[tolower(s[i])-'a'].push_back( i );
        else
            vec[26].push_back( i );
    vector<vector<int>>:: iterator iter;
    vector<int>:: iterator it;
    vector<int> vct;
    for(iter = vec.begin(), m= 0,j= 0; iter!= vec.end() ; ++iter){
        vct= *iter;
        for(it = vct.begin(); it!= vct.end(); ++it,++j){
            while( !vec[26].empty() && j==  vec[26][m]){
                cout<< s[j++];
                ++m;
            }
            if( j< s.length())
                cout << s[*it];
        }
    }
}


全部评论

相关推荐

09-22 15:45
门头沟学院 Java
谁给娃offer我给...:我也遇到了,我说只要我通过面试我就去,实际上我根本就不会去😁
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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