题解 | 比较版本号

比较版本号

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) {
        // write code here
        //讲两个数组以.拆分
        String[] v1 = version1.split("\\.");
        String[] v2 = version2.split("\\.");

        //遍历最大长度
        int len = Math.max(v1.length, v2.length);

        for(int i = 0; i < len; i++){
            //比较每段大小
            int num1 = (i < v1.length) ? Integer.parseInt(v1[i]) : 0; 
            //是否走完第一段数组?没走完从String强转回Int放入num1,走完了补0
            int num2 = (i < v2.length) ? Integer.parseInt(v2[i]) : 0; //同上

            //比较
            if(num1 < num2) return -1;
            if(num1 > num2) return 1;
        }
        return 0; //如果都相等
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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