165. Compare Version Numbers (String)
Compare two version numbers version1 and version2.
If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0.
You may assume that the version strings are non-empty and contain only digits and the . character.
The . character does not represent a decimal point and is used to separate number sequences.
For instance, 2.5 is not "two and a half" or "half way to
version three", it is the fifth second-level revision of the second
first-level revision.
Here is an example of version numbers ordering:
0.1 < 1.1 < 1.2 < 13.37
注意:版本格式可能会有多个子版本
class Solution {
public:
    int compareVersion(string version1, string version2) {
        vector<int> arr_v1,arr_v2;
        int pos1_pre = , pos2_pre = , pos1=version1.find_first_of('.'),pos2=version2.find_first_of('.');
        while(pos1!=-){
            arr_v1.push_back(atoi(version1.substr(pos1_pre,pos1).c_str()));
            pos1_pre = pos1+;
            pos1 = version1.find_first_of('.',pos1_pre);
        }
        arr_v1.push_back(atoi(version1.substr(pos1_pre).c_str()));
        while(pos2!=-){
            arr_v2.push_back(atoi(version2.substr(pos2_pre,pos2).c_str()));
            pos2_pre = pos2+;
            pos2 = version2.find_first_of('.',pos2_pre);
        }
        arr_v2.push_back(atoi(version2.substr(pos2_pre).c_str()));
        int size1 = arr_v1.size();
        int size2 = arr_v2.size();
        int size = min(size1,size2);
        for(int i = ; i < size; i++){
            if(arr_v1[i] > arr_v2[i]) return ;
            else if(arr_v1[i] < arr_v2[i]) return -;
        }
        if(size == size1){
            for(int i = size; i < size2; i++){
                if(arr_v2[i]!=) return -;
            }
            return ;
        }
        else{
            for(int i = size; i < size1; i++){
                if(arr_v1[i]!=) return ;
            }
            return ;
        }
    }
};
165. Compare Version Numbers (String)的更多相关文章
- 165. Compare Version Numbers - LeetCode
		Question 165. Compare Version Numbers Solution 题目大意: 比较版本号大小 思路: 根据逗号将版本号字符串转成数组,再比较每个数的大小 Java实现: p ... 
- 【LeetCode】165. Compare Version Numbers 解题报告(Python)
		[LeetCode]165. Compare Version Numbers 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博 ... 
- 【刷题-LeetCode】165 Compare Version Numbers
		Compare Version Numbers Compare two version numbers version1 and version2. If *version1* > *versi ... 
- ✡   leetcode 165. Compare Version Numbers 比较两个字符串数字的大小  --------- java
		Compare two version numbers version1 and version2.If version1 > version2 return 1, if version1 &l ... 
- Java for LeetCode 165 Compare Version Numbers
		Compare two version numbers version1 and version2.If version1 > version2 return 1, if version1 &l ... 
- 【LeetCode】165 - Compare Version Numbers
		Compare two version numbers version1 and version2.If version1 > version2 return 1, if version1 &l ... 
- Java [Leetcode 165]Compare Version Numbers
		题目描述: Compare two version numbers version1 and version2.If version1 > version2 return 1, if versi ... 
- 165. Compare Version Numbers
		题目: Compare two version numbers version1 and version2.If version1 > version2 return 1, if version ... 
- 【一天一道LeetCode】#165. Compare Version Numbers
		一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 来源: htt ... 
随机推荐
- element(vue.js)+django 整合
			近期开始接触Python,从web开发入门.尝试Django与vue整合,大概分3个阶段: 1.基于Django开发web后端 2.基于element开发好前端 3.前后端整合 参考:https:// ... 
- ABAP-权限查询-用户信息系统
			事务代码:SUIM 
- 盒子变形-盒子加padding后 变形问题,
			1. box-sizing: content-box: 影响: 加了内外边距后整个盒子的大小同步改变 2.box-sizing: border-box;影响:加了边距后整个盒子大小不受影响 boots ... 
- ThinkPHP5分页样式设置
			手册上讲分页类的使用时对样式讲的不够详细,这里我结合个人的摸索给大家一些参考意见. config里的分页配置我使用的是系统默认的bootstrap,查看thinkphp\library\think\p ... 
- python 叠加装饰器详解
			def out1(func1): #7.func1=in2的内存地址,就是in2 print('out1') def in1(): #8.调用函数index() 因为函数在in1里,所以首先运行in1 ... 
- suse 关于使用 /etc/init.d/boot.local的问题
			最近看了一个问题,有同事在 suse环境下的/etc/init.d/boot.local 中,增加了一行脚本. 该脚本的简单大意如下: #!/bin/bash ] do ] then echo &qu ... 
- C#调用C++
			c++ extern "C" __declspec(dllexport) char* WINAPI base64_decode( char *data,char base[]) { ... 
- 【原创】思科和锐捷组建多VLAN交换网络(隧道模式Trunk)
			组建简单交换网络设计与实施 [利用思科仿真与锐捷实践] 本文目录 第一部分 预备知识 第二部分 设计与仿真 需求分析 整体设计 PT仿真 第三部分 施工部署 console配置 连通测试 第一部分 预 ... 
- 分页插件   PageHelper
			一步:pom 依赖 二步:controller层 三步:id调用了三个包,org.n3r.idworker的包,这是一体的不用修改,调用即可生成,电商,腾讯都会用这个 , 前三位是年日 四步:serv ... 
- 使用 COM 类库创建链接桌面快捷方式
			用到的 COM 类库: Windows Script Host Object Model --> Interop.IWshRuntimeLibrary.dll 示例代码: private sta ... 
