思路:分段将字符串转成整型,然后进行比较。
class Solution {
public:
int compareVersion(string version1, string version2) {
int n1 = version1.size(), n2 = version2.size();
int i = 0, j = 0, d1 = 0, d2 = 0;
string v1, v2;
while (i < n1 || j < n2) {
while (i < n1 && version1[i] != '.') {
v1+=(version1[i++]);
}
d1 = atoi(v1.c_str());
while (j < n2 && version2[j] != '.') {
v2+=(version2[j++]);
}
d2 = atoi(v2.c_str());
if (d1 > d2) return 1;
else if (d1 < d2) return -1;
v1.clear(); v2.clear();
++i; ++j;
}
return 0;
}
};
本文介绍了一种通过分段转换字符串为整数并进行比较的方法来解决版本号比较的问题。该方法适用于不同长度的版本号字符串,并能正确处理包含多余零的情况。
1698

被折叠的 条评论
为什么被折叠?



