您的位置:首页 > 其它

LintCode-最大数

2015-10-20 21:01 615 查看
分享代码~

bool cmp(string a,string b)

{

    if (a+b>b+a)

        return true;

    else

        return false;

}

class Solution {

public:

    /**

     *@param num: A list of non negative integers

     *@return: A string

     */

     string toString(int x)

     {

         if (x==0)

         {

             return "0";

         }

         string s="";

         while (x>0)

         {

             char ch='0'+x%10;

             s=ch+s;

             x/=10;

         }

         return s;

     }

    string largestNumber(vector<int> &num) {

        // write your code here

        vector<string> nums;

        for (int i=0;i<num.size();++i)

        {

            nums.push_back(toString(num[i]));

        }

        sort(nums.begin(),nums.end(),cmp);

        string r="";

        for (int i=0;i<nums.size();++i)

        {

            r+=nums[i];

        }

        if (r[0]=='0')

            return "0";

        return r;

    }

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  LintCode