class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 比较版本号
* @param version1 string字符串
* @param version2 string字符串
* @return int整型
*/
int compare(string version1, string version2) {
int n = version1.length();
int m = version2.length();
int i = 0, j = 0;
while (i < n || j < m) {
// 提取version1的当前修订号
int num1 = 0;
while (i < n && version1[i] != '.') {
num1 = num1 * 10 + (version1[i] - '0');
i++;
}
// 提取version2的当前修订号
int num2 = 0;
while (j < m && version2[j] != '.') {
num2 = num2 * 10 + (version2[j] - '0');
j++;
}
// 比较当前修订号
if (num1 > num2) {
return 1;
} else if (num1 < num2) {
return -1;
}
// 跳过点号,准备处理下一个修订号
if (i < n) i++;
if (j < m) j++;
}
return 0;
}
};