题解 | NO.22#比较版本号#3.9

比较版本号

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

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 比较版本号
 * @param version1 string字符串 
 * @param version2 string字符串 
 * @return int整型
 */
#include <string.h>
int compare(char* version1, char* version2 ) {
    //记录两字符串长度
    int n1 = strlen(version1);	//调用strlen函数要加头文件
    int n2 = strlen(version2);
    int i = 0, j = 0;
    while(i < n1 || j < n2){	//两个都读完才结束循环
        long long num1 = 0;
        while(version1[i] != '.' && i < n1){	//别忘了i<n1,最后一个修订号后没有点
            num1 = 10 * num1 + (version1[i] - '0');	//注意是num1*10,而不是后边的
            i++;
        }
        long long num2 = 0;
        while(version2[j] != '.' && j < n2){
            num2 = 10 * num2 + (version2[j] - '0');
            j++;
        }
        if(num1 > num2)
            return 1;
        else if(num1 < num2)
            return -1;
        else{
            i++;
            j++;
        }
    }
    return 0;
}

全部评论

相关推荐

2025-12-30 16:42
同济大学 C++
仁狂躁使者:哎呀,不用担心,我当时配环境配了两天,项目捋不清就问问导师能不能用ai,慢慢就清了,会好起来的
点赞 评论 收藏
分享
想run的马里奥在学...:这个学历帮你扫平百分之80的障碍,投就完了,这会找不到就等3月暑期一样能找到
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务