题目描述
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323
class Solution {
public:
string PrintMinNumber(vector<int> numbers) {
if(numbers.size() <= 0){
return "";
}
vector<string> vs;
for(auto i : numbers){
vs.push_back(to_string(i));
}
sort(vs.begin(),vs.end(),[](string a,string b)->bool{
return a + b < b + a;
});
string res;
for(auto i : vs){
res +=i;
}
return res;
}
};