题解 | 对某一题解的拙劣模仿(修改了一些问题,比较适合初学

比较版本号

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

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 比较版本号
 * @param version1 string字符串 
 * @param version2 string字符串 
 * @return int整型
 */
int compare(char* version1, char* version2 ) {
    int v1=0,v2=0;
    while(*version1!='\0'||*version2!='\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;
    }
     //3.将字符串遍历完,准备跳出循环(即相等情况)
    if(*version1>0){
       version1++; 
    }
    if(*version2>0){
       version2++; 
    }
    if(*version1=='\0'&&*version2=='\0'){
        break;
    }
    }
    //4.最后返回0
    return 0;
}

全部评论

相关推荐

nbdy:她的意思是,有的话就有,没有的话就没有
点赞 评论 收藏
分享
沉淀一会:1.同学你面试评价不错,概率很大,请耐心等待; 2.你的排名比较靠前,不要担心,耐心等待; 3.问题不大,正在审批,不要着急签其他公司,等等我们! 4.预计9月中下旬,安心过节; 5.下周会有结果,请耐心等待下; 6.可能国庆节前后,一有结果我马上通知你; 7.预计10月中旬,再坚持一下; 8.正在走流程,就这两天了; 9.同学,结果我也不知道,你如果查到了也告诉我一声; 10.同学你出线不明朗,建议签其他公司保底! 11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务