首页 > 其他 > 详细

OJ练习34——T165 Compare Version Numbers

时间:2015-04-28 11:36:49      阅读:176      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!