题解 | 比较版本号

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[] nums1 = version1.split("\\.");
        String[] nums2 = version2.split("\\.");

        for (int i = 0; i < nums1.length || i < nums2.length; i++) {
            String str1 = i < nums1.length ? nums1[i] : "0";
            String str2 = i < nums2.length ? nums2[i] : "0"; 

            long num1 = Long.parseLong(str1); // 直接使用parseLong来转换字符串到long
            long num2 = Long.parseLong(str2); // 直接使用parseLong来转换字符串到long

            if (num1 > num2) {
                return 1;
            } else if (num1 < num2) {
                return -1;
            }
            // 如果当前部分相等,则继续比较下一部分
        }

        return 0; // 如果所有部分都相等,则返回0
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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