Leet Code Daily 2024-05-03 - Compare Version Numbers
Code
● ● ●c++constexpr int kMaxLen = 500;
typedef long long ll;
class Solution {
public:
void parseVersion(const string version, ll* v) {
int i = 0;
for (const char& c : version) {
if (c == '.') {
i++;
} else {
v[i] = v[i] * 10 + c - '0';
}
}
}
int compareVersion(string version1, string version2) {
ll nums1[kMaxLen] = { 0 }, nums2[kMaxLen] = { 0 };
parseVersion(version1, nums1);
parseVersion(version2, nums2);
for (int i = 0; i < kMaxLen; i++) {
if (nums1[i] < nums2[i]) {
return -1;
}
if (nums1[i] > nums2[i]) {
return +1;
}
}
return 0;
}
};