思路:
1.将int向量转为string向量;
2.根据两个数相加比较进行string向量排序;
3.将string向量转为单个string;
4.需要考虑[0,0,0,]的情况,输出“0”
代码:
```css
class Solution {
public:
string largestNumber(vector<int>& nums) {
vector<string> strs;
string ans;
//将int向量转为string向量
for(auto num:nums)
strs.push_back(to_string(num));
//根据两个数的组合大小进行排序
sort(strs.begin(),strs.end(),compare);
if(strs[0]=="0")
return "0";
else{
for(auto str:strs)
ans+=str;
return ans;
}
}
private:
//比较函数重定义
static bool compare(const string &a, const string &b)
{ return a+b>b+a; }
};