题解 | #把数组排成最小的数#

把数组排成最小的数

https://www.nowcoder.com/practice/8fecd3f8ba334add803bf2a06af1b993

class Solution {
public:
    static bool ms(string str1,string str2){
        if(str1.size()>str2.size()){
            for(int i=0;i<str2.size();i++){
                if(str1[i]>str2[i]){
                    return false;
                }
                else if(str1[i]<str2[i]){
                    return true;
                }
            }
            return ms(str1.substr(str2.size(),str1.size()-str2.size()),str2);
        }
        else if(str1.size()<str2.size()){
            for(int i=0;i<str1.size();i++){
                if(str2[i]>str1[i]){
                    return true;
                }
                else if(str2[i]<str1[i]){
                    return false;
                }
            }
            return ms(str1,str2.substr(str1.size(),str2.size()-str1.size()));
        }
        else{
            for(int i=0;i<str1.size();i++){
                if(str2[i]>str1[i]){
                    return true;
                }
                else if(str2[i]<str1[i]){
                    return false;
                }
            }
            return false;
        }
    }
    string PrintMinNumber(vector<int> numbers) {
        string str="";
        vector<string> strs(numbers.size());
        for(int i=0;i<strs.size();i++){
            string str0="";
            if(numbers[i]==0){
                str0="0";
            }
            while(numbers[i]!=0){
                string s=" ";
                s[0]=(char)(numbers[i]%10+48);
                str0=s+str0;
                numbers[i]/=10;
            }
            strs[i]=str0;
        }
        sort(strs.begin(),strs.end(),ms);
        for(int i=0;i<strs.size();i++){
            str=str+strs[i];
        }
        return str;
    }
};

全部评论

相关推荐

11-15 17:19
湖南大学 Java
成果成果成果果:这是哪个公司的hr,这么离谱吗,我没见过用性别卡技术岗的,身边女性同学拿大厂offer的比比皆是
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务