179. Largest Number

来源:互联网 发布:php权限管理建表思路 编辑:程序博客网 时间:2024/06/06 03:50

1、题目描述

给一个数组,连接数组中的所有数字,形成一个长数字,返回形成的最大数字。


2、思路

对数字转换成字符串,对字符串重新排序,再连接。主要处理0的情况。


3、代码

    string largestNumber(vector<int>& nums) {        vector<string>v;        for(int i=0;i<nums.size();i++){            v.push_back(to_string(nums[i]));        }        sort(v.begin(),v.end(),cmp);        string ans;        for(int i=0;i<v.size();i++){            ans+=v[i];        }        if(ans=="0"||ans[0]!='0') return ans;        int i=0;        while(ans[i]=='0') i++;        if(i==ans.size()) return "0";        else return ans.substr(i);    }    static bool cmp(string a,string b){        return a+b>b+a;    }