165. 比较版本号

题目链接:https://leetcode-cn.com/problems/compare-version-numbers/

执行用时:0 ms, 在所有 Swift 提交中击败了100.00%的用户
内存消耗:14 MB, 在所有 Swift 提交中击败了58.06%的用户

解题思路

转换为数组后先判断一样长的部分,如果都相等,再比较多出来的那一部分是否含有不为0的数。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class Solution {
func compareVersion(_ version1: String, _ version2: String) -> Int {
var v1 = version1.split(separator: ".")
var v2 = version2.split(separator: ".")
var index1 = v1.count, index2 = v2.count
let len = min(index1, index2)
for i in 0 ..< len {
let a = Int(v1[i])!
let b = Int(v2[i])!
if a > b {
return 1
}else if a < b {
return -1
}
}
if index1 < index2 {
for i in index1 ..< index2 {
let b = Int(v2[i])!
if b > 0 {
return -1
}
}
} else {
for i in index2 ..< index1 {
let a = Int(v1[i])!
if a > 0 {
return 1
}
}
}
return 0
}
}

165. 比较版本号
https://pisces34.github.io/2021/09/01/leetcode/165/
发布于
2021年9月1日
许可协议