Compare Version Numbers LeetCode solution in C++
1class Solution {2public:3int compareVersion(string v1, string v2) {4int ans = 0;5int n1 = v1.size(), n2 = v2.size();67for (int i = 0, j = 0; i < n1 || j < n2; ++i, ++j) {8string s1 = "", s2 = "";910while (i < n1 && v1[i] != '.') {11if (s1.size() == 0 && v1[i] == '0') {12++i;13continue;14}1516s1 += v1[i++];17}1819while (j < n2 && v2[j] != '.') {20if (s2.size() == 0 && v2[j] == '0') {21++j;22continue;23}2425s2 += v2[j++];26}2728if (s1.size() < s2.size())29return -1;30else if (s2.size() < s1.size())31return 1;3233ans = s1.compare(s2);34if (ans < 0)35return -1;36else if (ans > 0)37return 1;38}3940return 0;41}42};