• 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;
        }
    }
  • 相关阅读:
    Java的常用API之System类简介
    Java的常用API之Date类简介
    Java的常用API之Object类简介
    数据库知识总结(全)
    学习:浏览器访问网站的总流程
    学习:TCP/UDP协议分析(TCP四次挥手)
    学习:TCP/UDP协议分析(TCP三次握手)
    学习:ICMP协议
    实现:ARP探测存活主机
    学习:ARP协议/数据包分析
  • 原文地址:https://www.cnblogs.com/joannacode/p/6101256.html
Copyright © 2020-2023  润新知