码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode[165]Compare Version Numbers

时间:2015-02-09 00:37:47      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:

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

class Solution {
public:
    int compareVersion(string version1, string version2) {
        int i=0,j=0;
        while(i<version1.length()||j<version2.length())
        {
            int num1=0,num2=0;
            while(i<version1.length())
            {
                if(version1[i]==.)
                {
                    i++;
                    break;
                }
                else num1=num1*10+(version1[i++]-0);
            }
            while(j<version2.length())
            {
                if(version2[j]==.)
                {
                    j++;
                    break;
                }
                else num2=num2*10+(version2[j++]-0);
            }
            if(num1<num2)return -1;
            if(num1>num2)return 1;
        }
        return 0;
    }
};

 

 

 

leetcode[165]Compare Version Numbers

标签:

原文地址:http://www.cnblogs.com/Vae98Scilence/p/4280682.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!