165. Compare Version Numbers
题目简介
题目要求我们对比两个只由数字跟 .
构成的版本号
要求从左到右,并忽略小版本号前面的 0
如果 version1 < version2
返回 -1
如果 version1 > version2
返回 1
如果 version1 === version2
返回 0
解题思路
我们只需要用 split 将 version 拆分成数组,然后把数组的元素从字符串转换成 number 之后遍历比较就好
Javascript
/**
* @param {string} version1
* @param {string} version2
* @return {number}
*/
var compareVersion = function(version1, version2) {
const ver1Arr = version1.split('.').map(item => Number(item))
const ver2Arr = version2.split('.').map(item => Number(item))
const ver1Len = ver1Arr.length
const ver2Len = ver2Arr.length
for(let i=0;i<Math.max(ver1Len, ver2Len);i++) {
const ver1Val = i >= ver1Len ? 0 : ver1Arr[i]
const ver2Val = i >= ver2Len ? 0 : ver2Arr[i]
if(ver1Val > ver2Val) {
return 1
}
if(ver1Val < ver2Val) {
return -1
}
}
return 0
};