Compare Version Numbers

来源:互联网 发布:矩阵优化问题 编辑:程序博客网 时间:2024/06/06 00:29

此博客主要为自己刷第二次的时候回忆用,代码比较渣,不过会逐渐修改,当然也欢迎交流。

Compare Version Numbers

LeetCode 题目地址

第一版代码

69 / 69 test cases passed.
Status: Accepted
Runtime: 3 ms
Submitted: 3 minutes ago

class Solution {public:    int compareOnePart(string version1, string version2, int & loc1, int & loc2){        int pLoc1=loc1,pLoc2=loc2;        for(;pLoc1<version1.size()&&version1[pLoc1]!='.';pLoc1++);        for(;pLoc2<version2.size()&&version2[pLoc2]!='.';pLoc2++);        long v1(0),v2(0);        for(int i=loc1;i<pLoc1;i++)            v1+=(version1[i]-'0')*pow(10.0,pLoc1-i-1);        for(int i=loc2;i<pLoc2;i++)            v2+=(version2[i]-'0')*pow(10.0,pLoc2-i-1);        loc1=pLoc1+1;        loc2=pLoc2+1;        if(pLoc1==loc1&&pLoc2>loc2)            return v2==0?0:-1;        if(pLoc1>loc1&&pLoc2==loc2)            return v1==0?0:-1;        if(v1>v2)            return 1;        else if(v1==v2)            return 0;        else            return -1;    }    int compareVersion(string version1, string version2) {        int comp1(0),comp2(0);        for(;comp1<=version1.size()||comp2<=version2.size();){            int result=compareOnePart(version1,version2,comp1,comp2);            if(result>0)                return 1;            if(result<0)                return -1;        }        return 0;    }};

又长又恶心的代码。。。。。。肯定有简便的写法。。。。刷第二轮的时候再弄吧。。太恶心
这么恶心的代码。。。还挺快

0 0
原创粉丝点击