题解 | #比较版本号#TOP22

思路:
1.没有思路,就截取每一位,比较一下,不足长度以0来补
2.当然如果不用Integer.parseInt的话,可以使用String.substring去掉0

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 比较版本号
     * @param version1 string字符串 
     * @param version2 string字符串 
     * @return int整型
     */
    public int compare (String version1, String version2) {
        // write code here
        if(version1 == null || version2 == null){
            return -1;
        }
        String[] data1 = version1.split("\\.");
        String[] data2 = version2.split("\\.");
        
        int len = Math.max(data1.length, data2.length);
        for(int i = 0;i < len;i++){
            String a = i < data1.length ? data1[i] : "0";
            String b = i < data2.length ? data2[i] :"0";
            int aVersion = Integer.parseInt(a);
            int bVersion = Integer.parseInt(b);
            if(aVersion > bVersion){
                return 1;
            }else if(aVersion < bVersion){
                return -1;
            }
            
        }
        return 0;
        

    }
}
面试必刷TOP101 文章被收录于专栏

面试必刷TOP101

全部评论

相关推荐

10-28 14:42
门头沟学院 Java
watermelon1124:因为嵌入式炸了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务