拼接字符串所產生的字典序最小

#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
bool compare(string str1, string str2)
{
    return str1 + str2 < str2 + str1 ?  true : false;//由小到大排序
}
string lowest(vector<string> strs)
{
    if(strs.size() == 0)
        return "";
    sort(strs.begin(), strs.end(), compare);
    string res = "";
    for(int i = 0; i < strs.size(); ++i)
        res += strs[i];
    return res;
}
int main()
{
    vector<string> strs;
    strs.push_back("abc");
    strs.push_back("de");
//    strs.push_back("b");
//    strs.push_back("ba");

    cout << lowest(strs) << endl;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章