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

输入:version1 = “1.01”, version2 = “1.001”
输出:0
解释:忽略前导零,”01” 和 “001” 都表示相同的整数 “1”

输入:version1 = “1.0”, version2 = “1.0.0”
输出:0
解释:version1 没有指定下标为 2 的修订号,即视为 “0”

输入:version1 = “0.1”, version2 = “1.1”
输出:-1
解释:version1 中下标为 0 的修订号是 “0”,version2 中下标为 0 的修订号是 “1” 。0 < 1,所以 version1 < version2

输入:version1 = “1.0.1”, version2 = “1”
输出:1

输入:version1 = “7.5.2.4”, version2 = “7.5.3”
输出:-1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
func compareVersion(_ version1: String, _ version2: String) -> Int {

var nums1 = version1.split(separator: "."),
nums2 = version2.split(separator: ".")

while !nums1.isEmpty || !nums2.isEmpty {

let v1 = nums1.isEmpty ? 0: Int(nums1.removeFirst()) ?? 0,
v2 = nums2.isEmpty ? 0: Int(nums2.removeFirst()) ?? 0

if v1 == v2 { continue }

return v1 > v2 ? 1:-1

}

return 0
}