首页 > 其他 > 详细

179. Largest Number179. Largest Number

时间:2021-04-12 15:04:18      阅读:20      评论:0      收藏:0      [点我收藏+]

思路:

这道题就需要对比没对数,ab和ba谁更大。那么我们就把nums的元素都放入vector里面,这样string类型利于a+b和b+a的合并。
然后通过调用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; 
    }
};

179. Largest Number179. Largest Number

原文:https://www.cnblogs.com/Mrsdwang/p/14647694.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!