leetcode 165 比較版本號

2021-10-23 21:44:59 字數 1182 閱讀 9438

比較兩個版本號 version1 和 version2。

如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。

你可以假設版本字串非空,並且只包含數字和 . 字元。

. 字元不代表小數點,而是用於分隔數字序列。

例如,2.5 不是「兩個半」,也不是「差一半到三」,而是第二版中的第五個小版本。

你可以假設版本號的每一級的預設修訂版號為 0。例如,版本號 3.4 的第一級(大版本)和第二級(小版本)修訂號分別為 3 和 4。其第**和第四級修訂號均為 0。

示例 1:

輸入: version1 = 「0.1」, version2 = 「1.1」

輸出: -1

示例 2:

輸入: version1 = 「1.0.1」, version2 = 「1」

輸出: 1

示例 3:

輸入: version1 = 「7.5.2.4」, version2 = 「7.5.3」

輸出: -1

示例 4:

輸入:version1 = 「1.01」, version2 = 「1.001」

輸出:0

解釋:忽略前導零,「01」 和 「001」 表示相同的數字 「1」。

示例 5:

輸入:version1 = 「1.0」, version2 = 「1.0.0」

輸出:0

解釋:version1 沒有第**修訂號,這意味著它的第**修訂號預設為 「0」。

解析:示例中輸入的version1 = 」1.0「實際上是沒有意義的,真正的輸入是」1.0「

本題比較簡單,只需要每次計算兩個字串對應級別的修訂號並進行比較即可。以.作為分割符分別計算,注意初始值為零。

class

solution

while

(j < version2.

size()

&& version2[j]

!='.')if

(a > b)

return1;

else

if(a < b)

return-1

; i++

; j++;}

return0;

}};

leetcode165 比較版本號

比較兩個版本號 version1 和 version2。如果 version1 version2 返回 1,如果 version1 version2 返回 1,除此之外返回 0。你可以假設版本字串非空,並且只包含數字和 字元。字元不代表小數點,而是用於分隔數字序列。例如,2.5 不是 兩個半 也不是...

LeetCode 165 比較版本號

比較兩個版本號 version1 和 version2。如果 version1 version2 返回 1,如果 version1 version2 返回 1,除此之外返回 0。你可以假設版本字串非空,並且只包含數字和 字元。字元不代表小數點,而是用於分隔數字序列。例如,2.5 不是 兩個半 也不是...

leetcode165比較版本號

class solution object defcompareversion self,version1,version2 type version1 str type version2 str rtype int 不一定只有4級,以長的那級為準 sp1 version1.split sp2 ve...