LeetCode Compare Version Numbers

来源:互联网 发布:菅野洋子抄袭 知乎 编辑:程序博客网 时间:2024/06/04 23:20

思路:

小数点移动相同位数直到version1和version2都是整数,然后比较两个整数的大小。

class Solution {public:    int compareVersion(string version1, string version2) {        int t1, t2;        int idx1 = 0, idx2 = 0;        int n1 = version1.length(), n2 = version2.length();        while(idx1 < n1 || idx2 < n2) {            t1 = 0;            while(idx1 < n1) {                if(version1[idx1] == '.') {                    idx1++;                    break;                }                t1 = t1 * 10 + (version1[idx1] - '0');                idx1++;            }            t2 = 0;            while(idx2 < n2) {                if(version2[idx2] == '.') {                    idx2++;                    break;                }                t2 = t2 * 10 + (version2[idx2] - '0');                idx2++;            }            if(t1 > t2) return 1;            if(t1 < t2) return -1;        }        return 0;    }};
0 0