# LeetCode-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

class Solution {
public:
int compareVersion(string version1, string version2) {
int p1 = 0, p2 = 0, i1, i2;
while (p1 < version1.length() || p2 < version2.length())
{
i1 = sti(version1, p1);
i2 = sti(version2, p2);
if (i1 > i2)return 1;
else if (i1 < i2)return -1;
continue;
}
return 0;

}
int sti(string& s, int& pos)
{
int res = 0;
while (pos < s.length() && s[pos] != '.')
{
res = res * 10 + (s[pos] - '0');
pos++;
}
pos++;
return res;
}
};

#### LeetCode-Compare Version Numbers

2015-01-11 23:20:24

#### Leetcode-Compare Version Numbers

2015-02-24 05:50:36

#### 【LeetCode】445. Add Two Numbers II 解题报告（Python）

2018-02-26 18:22:49

#### POJ3252-Round Numbers

2011年07月31日 15KB 下载

#### Leetcode 解题报告

2016-06-20 15:58:43

#### [165] Compare Version Numbers

2016-07-28 10:48:50

#### has unsupported major or minor version numbers, which are greater than those found in the Java Runti

2015-04-17 10:37:50

#### 【LeetCode-面试算法经典-Java实现】【165-Compare Version Numbers（比较版本号）】

2015-08-22 06:49:39

#### 165. Compare Version Numbers(重要)

2016-07-11 16:48:40

#### 【LeetCode】2. Add Two Numbers 解题报告

2016-10-24 19:46:34