1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| class Solution { public: string largestNumber(vector<int>& nums) { sort(nums.begin(), nums.end(), [](int a, int b) { long sa = 10; long sb = 10; while(sa <= a) { sa *= 10; } while(sb <= b) { sb *= 10; } return sa * b + a < sb * a + b; }); if(nums[0] == 0) return "0"; string ret; for(auto& num : nums) ret += to_string(num); return ret; } };
|