题解 | #比较版本号#

比较版本号

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

方法:先根据"."进行字符串分割,然后将各部分的数字转为Integer,依次比较即可
import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 比较版本号
     * @param version1 string字符串 
     * @param version2 string字符串 
     * @return int整型
     */
    public int compare (String version1, String version2) {
        // write code here
        String[]partV1=version1.split("(\\.)");
        String[]partV2=version2.split("\\.");
        int lenV1=partV1.length,lenV2=partV2.length;
        Integer [] v1;
        Integer [] v2;
        if(lenV1>lenV2){
            v1=new Integer[lenV1];
            v2=new Integer[lenV1];
            for(int i=0;i<lenV1;i++){
                 v1[i]=Integer.valueOf(partV1[i]);
                 v2[i]=0;
            }
            for(int i=0;i<lenV2;i++)
                v2[i]=Integer.valueOf(partV2[i]);
        }else{
            v1=new Integer[lenV2];
            v2=new Integer[lenV2];
            for(int i=0;i<lenV2;i++){
                v2[i]=Integer.valueOf(partV2[i]);
                v1[i]=0;
            }
            for(int i=0;i<lenV1;i++)
                v1[i]=Integer.valueOf(partV1[i]); 
        }
        for(int i=0;i<v1.length;i++)
            if(v1[i]>v2[i])
                return 1;
            else if(v1[i]<v2[i])
                return -1;
        return 0;

    }
}


全部评论

相关推荐

10-07 20:48
门头沟学院 Java
听说改名就会有offer:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务