zoukankan      html  css  js  c++  java
  • 165. Compare Version Numbers

    Compare two version numbers version1 and version2.
    If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0.

    You may assume that the version strings are non-empty and contain only digits and the . character.
    The . character does not represent a decimal point and is used to separate number sequences.
    For instance, 2.5 is not "two and a half" or "half way to version three", it is the fifth second-level revision of the second first-level revision.

    Here is an example of version numbers ordering:

    0.1 < 1.1 < 1.2 < 13.37

    Credits:
    Special thanks to @ts for adding this problem and creating all test cases.

    分析:1.注意 “.” 要转译“\.”

             2. 主要consider many case 最简方法就是,没有就补0

    public class Solution {
        public int compareVersion(String version1, String version2) {
            if(version1.equals(version2)) return 0;
            String[] v1 = version1.split("\.");
            String[] v2 = version2.split("\.");
            for(int i = 0 ; i < v1.length || i < v2.length ; i++){
                String index1 = (i >= v1.length ? "0" : v1[i]);
                String index2 = (i >= v2.length ? "0" : v2[i]);
                if(convertStrtoInt(index1) > convertStrtoInt(index2))
                    return 1;
                else if (convertStrtoInt(index1) < convertStrtoInt(index2))
                    return -1;
            }
            return 0;
        }
        public int convertStrtoInt(String s){
            int num = 0;
            for(int i = 0 ; i < s.length() ; i++){
                num = num * 10 + s.charAt(i) - '0';
            }
            return num;
        }
    }
  • 相关阅读:
    servlet里的forward和redirect的区别
    JSP九大内置对象
    float和Float的区别
    Throwable相关知识1
    常见异常和错误总结
    final/finalize/finally的区别
    mysql命令大全
    mongodb安装
    mysql编译安装(详细)
    mysql的三种安装方式(详细)
  • 原文地址:https://www.cnblogs.com/joannacode/p/6101256.html
Copyright © 2011-2022 走看看