給一組數字求拼起來最大的那個,其實按照咱們的想法就是把大的放前面唄,那到底哪一個大呢。spa
數字a,b拼接起來就是ab,或者ba看這兩個哪一個大,就ab大就把a放前面,ba大就把b放前面。code
排個序就好。。。注意考慮都是0的狀況。。。(由於下面咱們用的是字符串blog
class Solution { public: string largestNumber(vector<int> &num) { vector<string> strs; for_each(num.begin(), num.end(), [&](int i) { strs.push_back(to_string(i)); }); sort(strs.begin(), strs.end(), [&](const string& a, const string& b) { return (a + b) > (b + a); }); string ans = ""; for_each(strs.begin(), strs.end(), [&](string& i) { if (ans == "" && i == "0") return; ans += i; }); return ans == "" ? "0" : ans; } };