只需要保证 s1 + s2 > s2 + s1
class Solution {
public:
string largestNumber(vector<int>& nums) {
vector<string> arr;
for(auto i:nums)
arr.push_back(to_string(i));
sort(arr.begin(),arr.end(),compare);
string res;
for(auto s:arr)
res += s;
//考虑全零情况
while(res[0] == '0' && res.length() > 1)
res.erase(0,1);
return res;
}
static bool compare(string &s1,string &s2)
{
return s1 + s2 > s2 + s1;
}
};