题解 | #比较版本号#

比较版本号

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
        // 解题思路:
        // 1、采用双指针,每次比较.之前的数据

        char[] c1 = version1.toCharArray();
        char[] c2 = version2.toCharArray();

        int i = 0, j = 0;
        int n1 = c1.length, n2 = c2.length;

        while (i < n1 || j < n2) {
            int s1 = 0;
            while (i < n1 && c1[i] != '.') {
                s1 = s1 * 10 + c1[i] - '0';
                i++;
            }
            i++;
            int s2 = 0;
            while (j < n2 && c2[j] != '.') {
                s2 = s2 * 10 + c2[j] - '0';
                j++;
            }
            j++;
            if (s1 > s2) {
                return 1;
            }

            if (s2 > s1) {
                return -1;
            }
        }

        return 0;
    }
}

全部评论

相关推荐

2024-12-29 19:48
河北科技大学 Java
没事就爱看简历:问题不在于简历:1、大学主修课程学那么多应用语言,作为计算机专业是很难理解的。 2、技能部分,每一个技能点的后半句话,说明对熟练,熟悉的标准有明显误会。 3、项目应该是校企合作的练习吧,这个项目你负责什么,取得了哪些成果都没有提及,只是列举了你认为有技术含量的点,而这些都有成熟的实现。
点赞 评论 收藏
分享
02-19 12:50
黑龙江大学 Java
饼子吃到撑:你给他20,让他给你上班你看看他愿不愿意
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务