165Compare Version Numbers

来源:互联网 发布:java等级证书 编辑:程序博客网 时间:2024/05/16 11:50
/*
 * 注意:1.0与1比较是相等的,还要考虑1.0.0.1和1比较等情况
 */


public class Solution {
    public int compareVersion(String version1, String version2) {
        String[] first = version1.split("\\.");
        String[] second = version2.split("\\.");
        int f_len = first.length;
        int s_len = second.length;
        int min_len = Math.min(f_len, s_len);
        int i = 0;
        Integer f = null;
        Integer s = null;
        for(;i<min_len;++i){
        f = new Integer(first[i]);
        s = new Integer(second[i]);
        if(f==s){
        continue;
        }else if(f < s){
        return -1;
        }else if(f > s){
        return 1;
        }
        }
        if(i==f_len&&i==s_len){
        return 0;
        }else if(f_len > s_len){
        for(int j=min_len;j<f_len;++j){
        Integer t = new Integer(first[j]);
        if(t==0){
        continue;
        }else{
        return 1;
        }
        }
        return 0;
        }else{
        for(int j=min_len;j<s_len;++j){
        Integer t = new Integer(second[j]);
        if(t==0){
        continue;
        }else{
        return -1;
        }
        }
        return 0;
        }
    }
}
0 0
原创粉丝点击