题解 | #比较版本号#

比较版本号

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

import java.util.*;


public class Solution {
   
    public int compare (String version1, String version2) {
        // write code here
        
        // 遍历字符串,记录点前面的值进行比较,前导0忽略

        int l1=version1.length();
        int i = 0;
        int l2 = version2.length();
        int j = 0;
        
        while(i<l1||j<l2){
            // 可以将该版本号看作 个、十、百进行比较大小,即转换成对应数字整体比较,不用一段一段比较

                long num1 =0;
                long num2 =0;
                // 循环读出数
                while(i<l1&&version1.charAt(i)!='.'){
                    num1= num1*10+(version1.charAt(i)-'0');
                    i++;
                }
                // 跳过点
                i++;
                while(j<l2&&version2.charAt(j)!='.'){
                    num2 = num2*10+(version2.charAt(j)-'0');
                    j++;
                }
                // 跳过点
                j++;
                if(num1>num2){
                    return 1;

                }else if(num1<num2){
                    return -1;
                }
           
        }
        return 0;
    }
}

全部评论

相关推荐

喜欢吃蛋糕仰泳鲈鱼是我的神:字节可以找个hr 给你挂了,再放池子捞
点赞 评论 收藏
分享
小火柴燃烧吧:接啊,接了之后反手在咸鱼找个大学生搞一下,量大从优
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务