您的位置:首页 > 其它

Leetcode#179 Largest Number

2015-01-26 16:51 435 查看
原题地址

先将数字转成字符串,然后排序,让能够组成更大数字的字符串放在前面,最后拼接成完整的字符串即可。

有种很巧妙的方法判断两个字符串的大小关系,假设两个字符串是A,B,则比较AB和BA,若AB比BA大,说明A应该放在前面,即A<B,其他同理。

代码:

string largestNumber(vector<int> &num) {
string res;

vector<string> strs;
for (auto n : num)
strs.push_back(to_string(n));

sort(strs.begin(), strs.end(), [](string &a, string &b) {return (a + b) > (b + a);});

for (auto str : strs) {
if (str == "0" && res.empty())
continue;
res += str;
}

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