经典指数          
原因
933
浏览数
0
收藏数
 

输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。

     举报   纠错  
 
切换
1 个答案

class Solution {

public:

    static bool compare( const string &st1,const string &st2){

        string s1 = st1+st2;

        string s2 = st2+st1;

        return s1

    }

    string PrintMinNumber(vector numbers) {

         string result;

        if(numbers.size()<=0){

            return result;

        }

        vector strNum;

        for(int i=0;i

           stringstream ss;

            ss<

            string s = ss.str();

            strNum.push_back(s);

        }

        sort(strNum.begin(),strNum.end(),compare);

       

        for(int i=0;i

            result.append(strNum[i]);

        }

        return result;

        

    }

};

 
切换
撰写答案