zoukankan      html  css  js  c++  java
  • LeetCode(165): Compare Version Numbers

    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
    题意:按照题目给定的比较方式,比较给定的两个字符串所表示的版本号。
    思路:以 . 为界先比较 . 前的数的大小,分出大小就输出,出现相等的情况要比较 . 后的数。分别将前后的字符串转换成整数进行比较。 
    代码:
    public int compareVersion(String version1, String version2) {
              long a = 0,b=0;
              int len1 = version1.length(),len2 = version2.length();
              int i=0,j=0;
              while(i<len1 || j< len2){
                  a=0;b=0;
                  while(i<len1&&version1.charAt(i)!='.'){
                      a = a*10+version1.charAt(i) - '0';
                      ++i;
                  }
                  ++i;
                  while(j<len2 && version2.charAt(j)!='.'){
                      b = b*10 + version2.charAt(j)-'0';
                      ++j;
                  }
                  ++j;
                  if(a>b) return 1;
                  if(a<b) return -1;
              }
              return 0;
               
            }
  • 相关阅读:
    第一次团队作业
    第二次结对作业
    第一次结对作业
    制作简易的中文编译器
    第一次博客作业
    个人总结
    第三次个人作业
    第二次结对作业
    第一次结对作业
    第二次编程作业
  • 原文地址:https://www.cnblogs.com/Lewisr/p/5115140.html
Copyright © 2011-2022 走看看