C語言 Leetcode 165 比較版本號

2021-10-03 15:34:27 字數 962 閱讀 3079

解題思路:

1、通過將版本號字串轉化為陣列,通過比較兩個陣列的大小來判定版本號大小,注意邊界的處理,即最後乙個版本號的處理,要根據』\0』來判定,所以字串的長度要+1;

2、注意陣列末尾補零處理,同事按照最長的長度來比較,簡化兩個陣列長度不同的處理。

3、注意使用atoi函式,簡化「01」和「001」的字串的數值的差異處理。

int

compareversion

(char

* version1,

char

* version2)

;int ver2[

1000]=

;int count1 =0;

int count2 =0;

int version1_len = strlen (version1)

;int version2_len = strlen (version2)

;char temp[

100]=;

int start =0;

//字串初始化,轉化為int陣列

for(

int i =

0; i < version1_len+

1; i++

)else

}for

(int i =

0; i < version2_len+

1; i++

)else

}//比較數字大小輸出結果

int res =0;

int count = count1 > count2 ? count1 : count2;

int i;

for(i =

0; i < count; i++

)else

if(ver1[i]

< ver2[i]

)else

}return res;

}

Leetcode 165 比較版本號 C

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

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 不是 兩個半 也不是...