首页 > 代码库 > Leetcode#179 Largest Number
Leetcode#179 Largest Number
原题地址
先将数字转成字符串,然后排序,让能够组成更大数字的字符串放在前面,最后拼接成完整的字符串即可。
有种很巧妙的方法判断两个字符串的大小关系,假设两个字符串是A,B,则比较AB和BA,若AB比BA大,说明A应该放在前面,即A<B,其他同理。
代码:
1 string largestNumber(vector<int> &num) { 2 string res; 3 4 vector<string> strs; 5 for (auto n : num) { 6 string str; 7 toString(str, n); 8 strs.push_back(str); 9 }10 11 sort(strs.begin(), strs.end(), [](string &a, string &b) {return (a + b) > (b + a);});12 13 for (auto str : strs) {14 if (str == "0" && res.empty())15 continue;16 res += str;17 }18 19 return res.empty() ? "0" : res;20 }
Leetcode#179 Largest Number
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。