leetcode_num165_Compare Version numbers

来源:互联网 发布:ubuntu 主分区 编辑:程序博客网 时间:2024/06/06 03:58
Compare two version numbers version1 and version2.

If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0.

class Solution {public:    int compareVersion(string version1, string version2) {        vector<int> vec1,vec2;        VersiontoInteger(version1,vec1);        VersiontoInteger(version2,vec2);        int L=max(vec1.size(),vec2.size());        for(int i=0;i<L;i++){            int v1=i<vec1.size()?vec1[i]:0;//in case of different size            int v2=i<vec2.size()?vec2[i]:0;            if(v1>v2)                return 1;            else if(v1<v2)                return -1;                    }        return 0;    }private:    void VersiontoInteger(string version,vector<int>&vec){        int tmp=0;        for(int i=0;i<version.size();i++){            if(version[i]=='0'&&tmp==0)                continue;            else if(version[i]!='.'){                tmp=tmp*10+atoi(&version[i]);//function of atoi             }            else if(version[i]=='.'){                vec.push_back(tmp);                tmp=0;            }                        }        vec.push_back(tmp);//in case of '1''0'with no '.'    }};


0 0
原创粉丝点击