[LeetCode]Largest Number

来源:互联网 发布:js点击出现再点击消失 编辑:程序博客网 时间:2024/06/07 03:58

关键在于比较两个数的大小。 也就是将两个数连接起来,看哪个大。


比如 9 和 34, 934大于349,那么9就大于34。

然后处理前面全为0的情况。

bool cmp(const string a, const string b){return (a+b) > (b+a);}class Solution {public:    string largestNumber(vector<int> &num) {vector<string> s_num;for(int i = 0 ;i < num.size(); i++){    char temp[16];    sprintf(temp,"%d", num[i]);s_num.push_back(temp);}sort(s_num.begin(), s_num.end(), cmp);string res = "";bool flag = false;for(int i = 0; i < s_num.size(); i++){if(s_num[i]!= "0"){res += s_num[i];flag = true;}else{if(flag)res += s_num[i];}}if(!flag) res += "0";return res;    }};

0 0
原创粉丝点击