# # 【LeetCode】165. Compare Version Numbers 解题报告（Python）

## # 题目描述：

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.

Example 1:

``````Input: version1 = "0.1", version2 = "1.1"
Output: -1
``````

Example 2:

``````Input: version1 = "1.0.1", version2 = "1"
Output: 1
``````

Example 3:

``````Input: version1 = "7.5.2.4", version2 = "7.5.3"
Output: -1
``````

## # 解题方法

``````class Solution(object):
def compareVersion(self, version1, version2):
"""
:type version1: str
:type version2: str
:rtype: int
"""
v1_split = version1.split('.')
v2_split = version2.split('.')
v1_len, v2_len = len(v1_split), len(v2_split)
maxLen = max(v1_len, v2_len)
for i in range(maxLen):
temp1, temp2 = 0, 0
if i < v1_len:
temp1 = int(v1_split[i])
if i < v2_len:
temp2 = int(v2_split[i])
if temp1 < temp2:
return -1
elif temp1 > temp2:
return 1
return 0
``````

## # 日期

2018 年 6 月 26 日 ———— 早睡早起