LINTCODE——将数组重新排序以构造最小值
说明:这个把数组的数转入到字符串数组,然后排序字符串数组,再把这些值放在一个字符串之下就好了(把所有为0的值过滤掉就OK了)
bool compare(const string &a,const string &b)
{
string x = a+b;
string y = b+a;
return x < y;
}
class Solution {
public:
/*
* @param nums: n non-negative integer array
* @return: A string
*/
string minNumber(vector<int> nums) {
// write your code here
vector<string> s;
for(int i = 0 ; i < nums.size() ; i++)
{
//过滤0的数值
if(nums[i] != 0)
s.push_back(to_string(nums[i]));
}
if(s.empty())
return "0";
sort(s.begin(),s.end(),compare);
string sres;
for(int i = 0 ; i < s.size() ; i++)
sres += s[i];
return sres;
}
};