输入一个正整数数组,把数组里所有数字拼接起来排成一个数,

class Solution {
public:
    static bool cmp(int a,int b)
    {
        string A,B;
        A=to_string(a);
        B=to_string(b);
        return (A+B)<(B+A);//前面这个小于后面这个代表升序,代表合起来的升序
    }

    //用 string to_string(anything)把其他的类型装换成string形
    string PrintMinNumber(vector<int> numbers) {
        int len=numbers.size();
        string re;//退回去试一下
        if(len==0)
            return re;
        sort(numbers.begin(),numbers.end(),cmp);
        for(int i=0;i<len;i++)
            re+=to_string(numbers[i]);
        return re;
    }
};

大神写法:本就是大神写法,来一个更牛逼的
[] (string s1,string s2) {return s1+s2<s2+s1;}
解析:capture mutable ->return-type{statement}
lambda,函数有点东西,第一次接触我有个大概就行,怎么用爷有个大概就行。

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务