【LeetCode】165. Compare Version Numbers 解題報告(Python)

【LeetCode】165. Compare Version Numbers 解題報告(Python)

標籤(空格分隔): 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 日 ———— 早睡早起

相關文章
相關標籤/搜索