题解 | 比较版本号

比较版本号

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

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 比较版本号
     * @param version1 string字符串 
     * @param version2 string字符串 
     * @return int整型
     */
    public int compare (String version1, String version2) {        
        boolean v1_longer_than_v2 = version1.length()>version2.length();
        int len = v1_longer_than_v2?version1.length():version2.length();
        int t1,t2;
        for(int p1=0, p2=0;p1<version1.length()||p2<version2.length();){
            t1 = 0; t2 = 0;
            // 同一版本比较
            while(p1<version1.length()&&version1.charAt(p1) != '.'){
                t1 += version1.charAt(p1++) - '0';
                t1 *= 10;                
            }
            while(p2<version2.length()&&version2.charAt(p2) != '.'){
                t2 += version2.charAt(p2++) - '0';
                t2 *= 10;                
            }
            p1 += 1; p2 += 1;// 跳过'.'
            if(t1 > t2) return 1;
            else if(t1 < t2) return -1;
            else continue;
        }
        return 0;
    }
}

全部评论

相关推荐

04-25 18:13
五邑大学 Java
无面如何呢:用心包装一下自己的实习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务