Leetcode Compare Version Numbers

来源:互联网 发布:nginx别名 反向代理 编辑:程序博客网 时间:2024/04/26 03:29
class Solution {private:    int compareNumber(string num1,string num2){        int num1Len = num1.length(), num2Len = num2.length();         if(num1Len > num2Len){            return 1;        }else        if(num1Len < num2Len){            return -1;        }else{            if(num1 > num2){                return 1;            }else            if(num1 < num2){                return -1;            }        }        return 0;    }    string retrieveNum(string version, int& pos, int len){        string ans = "";        if(pos<len){            for(pos+=1;pos<len && version[pos]=='0'&& version[pos]!='.';pos++);            for(;pos<len && version[pos]!='.';ans.push_back(version[pos++]));        }        return ans;    }public:    int compareVersion(string version1, string version2) {        int res = 0, i = -1, j = -1, v1Len = version1.length(), v2Len = version2.length();        do{           string v1 = retrieveNum(version1,i,v1Len);           string v2 = retrieveNum(version2,j,v2Len);           res = compareNumber(v1,v2);        }while(!res && (i < v1Len || j < v2Len) );        return res;    }};

0 0
原创粉丝点击