题解 | #比较版本号#

比较版本号

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

int compare(char* version1, char* version2 ) {
    int v1=0,v2=0;
    while(*version1!='\0'||*version1!='\0'){
        v1=0;
        v2=0;
    //1.找到.的位置,并把.前面的字符串转化成十进制的数字
    while(*version1!='.'&&*version1!='\0'){
        v1=v1*10+*version1-48;
        version1++;
    }
    while(*version2!='.'&&*version2!='\0'){
        v2=v2*10+*version2-48;
        version2++;
    }
    //2.比较数值的大小,如果v1大于v2返回1,反之返回-1或者0
    if(v1>v2){
        return 1;
    }else if(v1<v2){
        return -1;
    }
    if(*version1>0){
       version1++; 
    }
    if(*version2>0){
       version2++; 
    }
    if(*version1=='\0'&&*version1=='\0'){
        break;
    }
    }
    //4.最后返回0
    if(version1=='\0'&&version2!='\0'){
        return -1;
    }else if(version1!='\0'&&version2=='\0'){
        return 1;
    }
    return 0;
}
#感觉此题思路比较简单来一个python版本的解答##腾讯##字节跳动##美团##阿里巴巴#
全部评论
27行第二个1应该改成2吧
点赞 回复 分享
发布于 2022-08-02 12:26

相关推荐

11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
爱看电影的杨桃allin春招:我感觉你在炫耀
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务