Largest Number|leetcode解决方案

来源:互联网 发布:linux下安装禅道 编辑:程序博客网 时间:2024/06/12 00:28

此题很容易想的方案,是对所有的数按照某种优先次序排序,然后链接就是最终结果。

那么这个优先次序是什么呢?两个数字A和B,谁应该排在前面,此时只需要比较“AB”和“BA”的大小就是两个数字A和B的优先次序。

AC代码如下:

bool myCompare(int t1, int t2){    stringstream s;    s<<t1<<""<<t2;    string s1=s.str();    s.str("");s.clear();    s<<t2<<""<<t1;    string s2=s.str();    return s1>s2;}string largestNumber(vector<int> &num) {        if(num.empty())return "";        sort(num.begin(),num.end(),myCompare);        if(0==num[0])return "0";        stringstream ss;        for(int i=0;i<num.size();i++){            ss << num[i];        }        return ss.str();};


0 0
原创粉丝点击