分析
设置一个比较函数,让较大的排列排在前面。
最后如果一个序列全为0,只用返回一个0。
C++ 代码
class Solution {
public:
bool static cmp(string a,string b) //排序函数,从大到小排
{
return a+b>b+a;
}
string ans;
string largestNumber(vector<int>& nums) {
vector<string> v;
for(auto x:nums)
v.push_back(to_string(x));
sort(v.begin(),v.end(),cmp);
for(auto x:v)
ans+=x;
reverse(ans.begin(),ans.end());
while(ans.size()>1 && ans.back()=='0') ans.pop_back(); //去掉所有前导0
reverse(ans.begin(),ans.end());
return ans;
}
};
该博客介绍了如何使用C++编写一个排序函数,将整数数组转换为字符串,并按从大到小的顺序排列。代码中定义了一个静态成员函数cmp用于比较字符串,然后通过sort函数对序列进行排序。同时,处理了全为0的情况,去除前导0,确保结果的正确性。
238

被折叠的 条评论
为什么被折叠?



