LeetCode165 比較版本號

2022-08-11 09:09:12 字數 692 閱讀 6152

根據題意,用'.'劃分出兩個版本的每個子版本號,從左到右逐個比較即可,如果某個版本的子版本號個數比另乙個多,則子版本較少的那個版本用0表示子版本,這樣就可以一直比較兩個版本的所有子版本了。

劃分子版本可以用雙指標,劃分出的子版本存到乙個陣列中,都劃分好後就得到兩個分別存放兩個版本的子版本的陣列,然後對陣列逐個進行比較,如果相等就往後,否則返回結果。

如果某個陣列大於另乙個陣列,則較小的另乙個陣列剩下的部分用0和較大的陣列的當前元素比較(表示剩下的子版本都是0),一直比較下去直到比較出大小或者兩個陣列都結束了,都結束了就返回0,說明兩個版本號是相同的。

**如下:

class solution 

string subver = version1.substr(i, j - i);

v1.push_back(atoi(subver.c_str()));

i = j;

}for(i = 0; i v2[i]) else if(v1[i] < v2[i])

}if(v1.size() < v2.size()) }}

if(v1.size() > v2.size()) }}

return 0;}};

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...