LeetCode 179. 最大数
原题链接
中等
作者:
LiuHH
,
2023-03-31 20:05:22
,
所有人可见
,
阅读 165
class Solution {
public:
string largestNumber(vector<int>& nums) {
sort(begin(nums),end(nums),[](const int& t1,const int& t2){
unsigned long long mult1 = 10,mult2 = 10;
unsigned long long tmp_t1 = t1,tmp_t2 = t2;
while (tmp_t1 / 10) {
tmp_t1 = tmp_t1 / 10;
mult1 *= 10;
}
while (tmp_t2 / 10) {
tmp_t2 /= 10;
mult2 *= 10;
}
// cout << t1 << ' ' << t2 << ' ' << mult1 << ' ' << mult2 << ' ' << (t1 * mult2 + t2) << " " << (t2 * mult1+ t1) << endl;
return (t1 * mult2 + t2) > (t2 * mult1 + t1);
});
bool fl = true;
string ret = "";
for (auto val : nums) {
if (val) fl = false;
ret += to_string (val);
}
return fl ? "0" : ret;
}
};