首页 > 其他 > 详细

LeetCode(165): Compare Version Numbers

时间:2016-01-08 23:19:32      阅读:245      评论:0      收藏:0      [点我收藏+]

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;
           
        }

LeetCode(165): Compare Version Numbers

原文:http://www.cnblogs.com/Lewisr/p/5115140.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!