【牛客刷题】 ——把数组排成最小的数

把数组排成最小的数

【牛客刷题】 ——把数组排成最小的数_第1张图片
思路:先把数组里面的数通过stringstream转成string类型的,再进行比较大小。最终返回一个string

class Solution {
public:
    static bool Compare(const string& s1,const string& s2)
    {
        string str1=s1+s2;
        string str2=s2+s1;
        return str1<str2;
    }
    string str;
    vector<string> v;
    string PrintMinNumber(vector<int> numbers) 
    {
         if(numbers.size()==0)
             return string();
         for(int i=0;i<numbers.size();i++)
         {
             stringstream ss;
             string ret;
             ss<<numbers[i];
             ss>>ret;
             v.push_back(ret);
         }
        sort(v.begin(),v.end(),Compare);
        for(int i=0;i<v.size();i++)
        {
            str+=v[i];
        }
        return str;
    }
};

你可能感兴趣的:(C++,数据结构,牛客力扣习题分析)