题解 | #比较版本号#

比较版本号

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

package com.hhdd;

/**
 * @Author huanghedidi
 * @Date 2022/7/24 0:06
 */
public class 比较版本号 {

    public static void main(String[] args) {
        int res = compare("1.1", "1.01");
        System.out.println("res = " + res);
    }

    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * <p>
     * 比较版本号
     *
     * @param version1 string字符串
     * @param version2 string字符串
     * @return int整型
     */
    public static int compare(String version1, String version2) {
        // write code here
        String[] v1 = version1.split("\\.");
        String[] v2 = version2.split("\\.");

        int i = 0;
        while (i < v1.length && i < v2.length) {
            String s1 = v1[i];
            String s2 = v2[i];
            if (Integer.parseInt(s1) > Integer.parseInt(s2)) {
                return 1;
            }
            if (Integer.parseInt(s1) < Integer.parseInt(s2)) {
                return -1;
            }
            i++;
        }
        if (i < v1.length) {
            // 说明v1还有数
            while (i < v1.length) {
                // 只要i位置不是0,就是v1比较大,就返回1
                if (Integer.parseInt(v1[i]) > 0) {
                    return 1;
                }
                i++;
            }
            // 说明完全一样 返回0
            return 0;
        }
        if (i < v2.length) {
            // 说明v1还有数
            while (i < v2.length) {
                // 只要i位置不是0,就是v1比较大,就返回1
                if (Integer.parseInt(v2[i]) > 0) {
                    return -1;
                }
                i++;
            }
            // 说明完全一样 返回0
            return 0;
        }
        return 0;
    }

}

全部评论

相关推荐

12-15 19:41
已编辑
广东工业大学 前端工程师
smile丶snow:尽量保证的一张a4纸吧。为什么工作经历只有公司?如果项目经历是工作里面的,应该写到工作经历里的吧。没有写项目职责,项目全是一个人写的吗?标题大小也好怪。两个项目的分割看不出来是,它和那些项目成功字体是一样大的
点赞 评论 收藏
分享
回家当保安:复旦✌🏻,佬你的简历感觉挺好的,寒假日常hc比较少。佬可以过完年之后再试试,日常实习hc比较充足
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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