重构‘<’运算符
class Solution {
public:
string minNumber(vector<int>& nums) {
vector<string> ans;
string res;
for(auto i:nums)
ans.push_back(to_string(i));
//若拼接字符串 x + y > y + x,则 x “大于” y ;
// 反之,若 x + y < y + x,则 x “小于” y ;
// x “小于” y 代表:排序完成后,数组中 x 应在 y 左边;“大于” 则反之。
//例如x:30,y:3 303(x+y)<330(y+x)
sort(ans.begin(),ans.end(),
[&](string &s1,string &s2){return s1+s2<s2+s1;});
for(auto i=ans.begin();i!=ans.end();++i){
res.append(*i);
//res+=(*i)
}
return res;
}
};