码迷,mamicode.com
首页 > 其他好文 > 详细

OJ练习34——T165 Compare Version Numbers

时间:2015-04-28 11:38:01      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:

比较版本高低。

版本的格式:1.1.1

可能有多个分隔符。

相等则返回0, 大于返回1, 小于返回-1.

【思路】

分别比较分隔符的每段,转换成十进制后的大小;

相等则继续比较下一段,不等则返回相应的结果。

【my code】

int compareVersion(string version1, string version2) {
        int v1a=0,v1b=0,v2a=0,v2b=0;
        int i=0, j=0;
        int len1=version1.size(), len2=version2.size();
        while(i<len1||j<len2){
        while(version1[i]!=.&&i<len1){
            v1a=v1a*10+version1[i]-0;
            i++;
        }
        while(version2[j]!=.&&j<len2){
            v2a=v2a*10+version2[j]-0;
            j++;
        }
        if(v1a==v2a){
            i++;
            j++;
            v1a=0;
            v2a=0;
            continue;
        }
        else if(v1a>v2a)
            return 1;
        else
            return -1;
        }
        return 0;
    }

【评价】

用时:2ms,在c的范围内,结果比较好。

可取可取。

OJ练习34——T165 Compare Version Numbers

标签:

原文地址:http://www.cnblogs.com/ketchups-notes/p/4462302.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!