LeetCode 179.Largest Number (最大数)

本是古典 何须时尚 2022-04-15 00:40 361阅读 0赞

题目描述:

给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。

示例 1:

  1. 输入: [10,2]
  2. 输出: 210

示例 2:

  1. 输入: [3,30,34,5,9]
  2. 输出: 9534330

说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。

AC C++ Solution:

  1. class Solution {
  2. public:
  3. string largestNumber(vector<int>& nums) {
  4. vector<string> arr;
  5. for(auto i : nums)
  6. arr.push_back(to_string(i));
  7. sort(arr.begin(), arr.end(), [](string &s1, string &s2) { return s1+s2 > s2+s1; }); //自定义排序器
  8. string res;
  9. for(auto s : arr)
  10. res += s;
  11. while(res[0] == '0' && res.length() > 1)
  12. res.erase(0,1);
  13. return res;
  14. }
  15. };

发表评论

表情:
评论列表 (有 0 条评论,361人围观)

还没有评论,来说两句吧...

相关阅读