给定一个非负整数的列表,重新排列它们的顺序把他们组成一个最大的整数。
例如,给定 [3, 30, 34, 5, 9],最大的组成数是 9534330.
注意: 结果可能非常大,所以您需要返回一个字符串而不是整数。
详见:https://leetcode.com/problems/largest-number/description/
class Solution {
public:
string largestNumber(vector<int>& nums) {
vector<string> arr;
for(int num:nums)
{
arr.push_back(to_string(num));
}
sort(arr.begin(),arr.end(),[](const string &str1,const string &str2){return str1+str2>str2+str1;});
string res;
for(string s:arr)
{
res+=s;
}
if(res[0]==‘0‘)
{
return "0";
}
return res;
}
};
参考:https://www.cnblogs.com/grandyang/p/4225047.html