179. 最大数
class Solution {
public:
static bool cmp(string A, string B) {
int min_len = min(A.size(), B.size());
if(A.size() == B.size() || A.substr(0, min_len) != B.substr(0, min_len)) return A > B;
if(A.size() > B.size()) return cmp(A.substr(B.size(), A.size() - B.size()), B);
return cmp(A, B.substr(A.size(), B.size() - A.size()));
}
string largestNumber(vector<int>& nums) {
vector<string> nums_str;
for(auto num : nums) nums_str.push_back(to_string(num));
sort(nums_str.begin(), nums_str.end(), cmp);
string ans = "";
for(auto str : nums_str) ans += str;
ans.erase(0, ans.find_first_not_of('0'));
return ans == "" ? "0" : ans;
}
};