class Solution {
public:
vector<int> get_num(string version) {
int i = 0;
vector<int> res;
int val = 0;
while (i < version.size()) {
while (i < version.size() && version[i] != '.') {
val += val*10 + version[i] - '0';
i++;
}
res.push_back(val);
if (i < version.size() && version[i] == '.') {
val = 0;
i++;
}
}
return res;
}
int compareVersion(string version1, string version2) {
if (version1 == version2)
return 0;
vector<int> v1 = get_num(version1);
vector<int> v2 = get_num(version2);
int i = 0;
while (i < v1.size() && i < v2.size()) {
if (v1[i] == v2[i]) {
i++;
continue;
}
else if (v1[i] > v2[i]) {
return 1;
}
else
return -1;
}
while (i < v1.size()) {
if (v1[i] != 0)
return 1;
i++;
}
while (i < v2.size()) {
if (v2[i] != 0)
return -1;
i++;
}
return 0;
}
};
leetcode165. Compare Version Numbers
最新推荐文章于 2024-09-07 14:45:46 发布