题解 | #比较版本号#

比较版本号

https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7

难度不大,不过少有地一次调试都没有秒杀了……庆祝一下

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 比较版本号
     * @param version1 string字符串 
     * @param version2 string字符串 
     * @return int整型
     */
     void core(string&version,vector<int>& v){
        int i=0,j=0,k=0,l=0;
         for(i=0;i<version.size();i++){
            for(j=i;version[j]!='.'&&j<version.size();j++){

            }
            string s;
            for(k=i;k<=j;k++){
                s+=version[k];
            }
            v[l]=stoi(s);
            l++;
            i=j;
        }
     }
    int compare(string version1, string version2) {
        // write code here
        int i=0,j=0,k;
        for(auto c : version1){
            if(c!='.')i++;
        }
        for(auto c:version2){
            if(c!='.')j++;
        }
        k=max(i,j)+1;//版本号被分割了多少部分
        vector<int> v1(k,0),v2(k,0);
        core(version1,v1);
        core(version2,v2);
        for(i=0;i<k;++i){
            if(v1[i]>v2[i]){return 1;
            }else if(v2[i]>v1[i]){
                return -1;
            }

        }
        return 0;


    }
};

全部评论

相关推荐

Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务