1.把数组排成最小的数

class Solution {
public:
     
    static bool compare(const string& s1, const string& s2) {  
        string t1 = s1 + s2;   
        string t2 = s2 + s1;
        return t1 <= t2? true : false;
    }
     
    string PrintMinNumber(vector<int> numbers) {
     
        string str;
        int i, len = numbers.size();   
        if (len<1) return str;
     
        string res;
        vector<string> vt;
        for (i = 0;i<len;++i) { 
            stringstream stream;       
            stream << numbers[i];    
            stream >> str;       
            vt.push_back(str);
        }
     
        sort(vt.begin(), vt.end(), compare);   
        for (i = 0;i<len;++i)       
            res += vt[i];  
        return res;
    }
};
View Code

相关文章: