变量简洁正确完整思路 模拟一下,对于const int&a,const int&b return ab>ba, 对于2342 231 2342*1000+231 >231*10000+2342 class Solution { public: string largestNumber(vector<int>& nums) { sort(nums.begin(),nums.end(),[](const int &a,const int&b){ //cout<<a<<' '<<b<<endl; long long aa=10,bb=10; while(aa<=b)aa*=10; while(bb<=a)bb*=10; return a*aa+b>b*bb+a; }); if(nums[0]==0)return "0"; string ans; for(int num:nums)ans+=to_string(num); return ans; } }; 踩过的坑 sort用lambda,const&,return 左边>右边则排序也是左边>右边,return 左边<右边则排序也是左边<右边