Compare Version Numbers (Leet Code)

来源:互联网 发布:淘宝不能登录怎么办 编辑:程序博客网 时间:2024/06/04 17:57

Compare Version Numbers

 Total Accepted: 31055 Total Submissions: 202365 

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.

Show Tags


code:

class Solution {public:    int compareVersion(string version1, string version2) {       int i=0,j=0,m=version1.size(),n=version2.size(),c1,c2;       while(i<m||j<n){           c1=c2=0;            while(i<m&&version1[i]!='.')                c1=c1*10+version1[i++]-'0';            while(j<n&&version2[j]!='.')                c2=c2*10+version2[j++]-'0';            i++;j++;            if(c1>c2)return 1;            else if(c1<c2)return -1;       }       return 0;    }};


0 0
原创粉丝点击