179. Largest Number179. Largest Number
思路:
这道题就需要对比没对数,ab和ba谁更大。那么我们就把nums的元素都放入vector
然后通过调用sort函数根据函数a+b>b+a的lambda函数排序。
然后判断排序后的数组第一个元素是否为0,为0就return 0,否则就加入一个string 字符串里。返回0是因为有“0,0”的可能,但是这样得到的数只是0,不是00,所以要去掉这种可能
代码:
class Solution {
public:
string largestNumber(vector<int>& nums) {
vector<string> ans;
for(auto&num:nums){
ans.push_back(to_string(num));
}
sort(ans.begin(),ans.end(),[](const string& a,const string& b){
return a+b>b+a;
});
string res="";
for(auto&a:ans){
res += a;
}
return (res[0]=='0')? "0":res;
}
};