標籤(空格分隔): LeetCodepython
做者: 負雪明燭
id: fuxuemingzhu
我的博客: http://fuxuemingzhu.me/git
題目地址:https://leetcode.com/problems/compare-version-numbers/description/ide
Compare two version numbers version1 and version2.
If version1 > version2
return 1
; if version1 < version2
return -1
;otherwise return 0
.spa
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.code
Example 1:three
Input: version1 = "0.1", version2 = "1.1" Output: -1
Example 2:ip
Input: version1 = "1.0.1", version2 = "1" Output: 1
Example 3:ci
Input: version1 = "7.5.2.4", version2 = "7.5.3" Output: -1
比較兩個版本號的大小。leetcode
版本是用.進行分割的,那麼咱們也只能經過用.進行分割來斷定版本號的大小。把版本號進行分割,須要找出一個較長的版本號的長度,把較短的版本的後面用0進行補齊。恩,而後進行比較。get
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 日 ———— 早睡早起