题解 | #比较版本号#

比较版本号

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) {
        if (version1.equals(" ") && version2.equals(" ")) return 0;
        String c = ".";
        int num1 = 0, num2 = 0;
        int dot1 = 0, dot2 = 0;
        int s1 = version1.length();
        int s2 = version2.length();
        if (version1.contains(c)) {
            for (int i = 0 ; i < s1; i++) {
                if (version1.charAt(i) == '.') {
                    dot1 = i;
                    break;
                }
            }
        } else {
            dot1 = version1.length();
        }
        if (version2.contains(c)) {
            for (int i = 0 ; i < s2; i++) {
                if (version2.charAt(i) == '.') {
                    dot2 = i;
                    break;
                }
            }
        } else {
            dot2 = version2.length();
        }
        int com1 = 0, com2 = 0;
        String string1 = new String(version1.substring(num1, dot1));
        String string2 = new String(version2.substring(num2, dot2));
        if (!string1.equals(" ")) com1 = Integer.parseInt(string1);
        else {
            com1 = 0;
        }
        if (!string2.equals(" ")) com2 = Integer.parseInt(string2);
        else {
            com2 = 0;
        }
        if (com1 > com2) return 1;
        else if (com1 < com2) {
            return -1;
        }
        return compare(dot1 < version1.length() ? version1.substring(dot1 + 1,
                       version1.length()) : " ",
                       dot2 < version2.length() ? version2.substring(dot2 + 1,
                               version2.length()) : " ");
    }
}

全部评论

相关推荐

2024-12-21 01:36
电子科技大学 Java
牛客850385388号:员工福利查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务