给定一个非负整数的列表,重新排列它们的顺序把他们组成一个最大的整数。
例如,给定 [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