Open Tcdian opened 3 years ago
/**
* @param {string} version1
* @param {string} version2
* @return {number}
*/
var compareVersion = function(version1, version2) {
let versionArr1 = version1.split('.');
let versionArr2 = version2.split('.');
let maxLen = versionArr1.length > versionArr2.length ? versionArr1.length : versionArr2.length;
for (let i = 0; i < maxLen; i++) {
if ((Number(versionArr1[i] || '0')) > (Number(versionArr2[i] || '0'))) {
return 1;
} else if ((Number(versionArr1[i] || '0')) < (Number(versionArr2[i] || '0'))) {
return -1;
}
}
return 0;
};
function compareVersion(version1: string, version2: string): number {
let versionArr1 = version1.split('.');
let versionArr2 = version2.split('.');
let maxLen = versionArr1.length > versionArr2.length ? versionArr1.length : versionArr2.length;
for (let i = 0; i < maxLen; i++) {
if ((Number(versionArr1[i] || '0')) > (Number(versionArr2[i] || '0'))) {
return 1;
} else if ((Number(versionArr1[i] || '0')) < (Number(versionArr2[i] || '0'))) {
return -1;
}
}
return 0;
};
165. Compare Version Numbers
比较两个版本号
version1
和version2
。 如果version1 > version2
返回1
,如果version1 < version2
返回-1
, 除此之外返回0
。你可以假设版本字符串非空,并且只包含数字和
.
字符。.
字符不代表小数点,而是用于分隔数字序列。例如,
2.5
不是“两个半”,也不是“差一半到三”,而是第二版中的第五个小版本。你可以假设版本号的每一级的默认修订版号为
0
。例如,版本号3.4
的第一级(大版本)和第二级(小版本)修订号分别为3
和4
。其第三级和第四级修订号均为0
。Example 1
Example 2
Example 3
Example 4
Example 5
Note
.
) 分隔的数字字符串组成。这个数字字符串可能有前导零。