class Solution {
public:
    /**
        首个大的就大,前面相同看后面,后面若没有,短的在前面
     */
    static bool cmp(string a, string b){
        return a+b > b+a;
    }

    string solve(vector<int>& nums) {
        vector<string> ve;

        for(int i=0; i<nums.size(); i++){
            ve.push_back(to_string(nums[i]));
        }

        sort(ve.begin(), ve.end(), cmp);
        if(ve[0] == "0") return "0";

        string res="";
        for(int i=0; i<ve.size();i++){
            res += ve[i];
        }

        return res;
    }
};