class Solution {
public:
    /**
     * 最大数
     * @param nums int整型vector 
     * @return string字符串
     */
//     排序函数 
    static bool cmp(const string& a, const string& b) {
        return a + b > b + a;
     
    }
    string solve(vector<int>& nums) {
        // write code here
        vector<string> snum;
        int n = nums.size();
        for(int i = 0; i < n; i++) {
            auto s = to_string(nums[i]);
            snum.push_back(s);
        }
        sort(snum.begin(), snum.end(), cmp);
        string res;
        if(snum[0] <= "0")
            return "0";
        for(int i = 0; i < n; i++) {
            res += snum[i];
        }
        return res;
    }
};