-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsolution.js
31 lines (27 loc) · 863 Bytes
/
solution.js
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
/**
* @param {string} version1
* @param {string} version2
* @return {number}
*/
var compareVersion = function(version1, version2) {
let versions1 = version1.split('.').map(v => parseInt(v)),
versions2 = version2.split('.').map(v => parseInt(v))
while (versions1.length > 0 && versions1[versions1.length - 1] == 0)
versions1.pop()
while (versions2.length > 0 && versions2[versions2.length - 1] == 0)
versions2.pop()
let length1 = versions1.length,
length2 = versions2.length
for (let i = 0; i < Math.min(length1, length2); i++) {
if (versions1[i] > versions2[i])
return 1
else if (versions1[i] < versions2[i])
return -1
}
if (length1 > length2)
return 1
else if (length1 < length2)
return -1
else
return 0
};