题意:比较版本号的大小

有点变态,容易犯错

本质是字符串的比较,请注意他的版本号的小数点不知1个,有的会出现01.0.01这样的变态版本号

class Solution {
public:
int cmp_num(string a, string b){
if(a.size() < b.size()) return -;
else if(a.size() == b.size()){
if(a == b) return ;
else return a < b ? -: ;
}
else return ;
}
vector<string> change(string v){
vector<string> vs;
int a = , b = ;
while((b = v.find(".",a)) != string::npos){
string::size_type i = a;
for(; i < v.size(); ++i){
if(v[i] > '' || v[i] == '.') break;
}
if(i == v.size() || v[i] == '.') vs.push_back("");
else vs.push_back(v.substr(i, b- i));
a = b + ;
}
string::size_type i = a;
for(; i < v.size(); ++i){
if(v[i] > '' || v[i] == '.') break;
}
if(i == v.size() || v[i] == '.') vs.push_back("");
else vs.push_back(v.substr(i, v.size() - i));
return vs;
}
int compareVersion(string version1, string version2) {
vector<string> v1,v2;
v1 = change(version1);
v2 = change(version2); string::size_type i;
for(i = ; i < v1.size() && i <v2.size(); ++i){
if(cmp_num(v1[i],v2[i]) != ) return cmp_num(v1[i],v2[i]);
} for(; i < v1.size(); ++i){
if(cmp_num(v1[i],"") != ) return cmp_num(v1[i],"");
} for(; i < v2.size(); ++i){
if(cmp_num("",v2[i]) != ) return cmp_num("",v2[i]);
} return ;
}
};

Leetcode 165 Compare Version Numbers的更多相关文章

  1. [LeetCode] 165. Compare Version Numbers 比较版本数

    Compare two version numbers version1 and version1.If version1 > version2 return 1, if version1 &l ...

  2. ✡ leetcode 165. Compare Version Numbers 比较两个字符串数字的大小 --------- java

    Compare two version numbers version1 and version2.If version1 > version2 return 1, if version1 &l ...

  3. Java for LeetCode 165 Compare Version Numbers

    Compare two version numbers version1 and version2.If version1 > version2 return 1, if version1 &l ...

  4. Java [Leetcode 165]Compare Version Numbers

    题目描述: Compare two version numbers version1 and version2.If version1 > version2 return 1, if versi ...

  5. 【LeetCode】165. Compare Version Numbers 解题报告(Python)

    [LeetCode]165. Compare Version Numbers 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博 ...

  6. 165. Compare Version Numbers - LeetCode

    Question 165. Compare Version Numbers Solution 题目大意: 比较版本号大小 思路: 根据逗号将版本号字符串转成数组,再比较每个数的大小 Java实现: p ...

  7. 【刷题-LeetCode】165 Compare Version Numbers

    Compare Version Numbers Compare two version numbers version1 and version2. If *version1* > *versi ...

  8. 【一天一道LeetCode】#165. Compare Version Numbers

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 来源: htt ...

  9. 【LeetCode】165 - Compare Version Numbers

    Compare two version numbers version1 and version2.If version1 > version2 return 1, if version1 &l ...

随机推荐

  1. Selenium2+python自动化21-TXT数据参数化

    前言      在17篇我们讲了excel数据的参数化,有人问了txt数据的参数化该怎么办呢,下面小编为你带你txt数据参数化的讲解 一.以百度搜索为例,自动搜索五次不同的关键字.输入的数据不同从而引 ...

  2. 第二次作业#include <stdio.h> int main() { int a,b,c,d,e; printf("请输入一个不多于五位的整数:\n"); scanf("%d",&a); if(a>=100000||a<=0) { printf("输入格式错误! \n"); } else { if(

    1 判断成绩等级 给定一百分制成绩,要求输出成绩的等级.90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出"输入数据错误". ...

  3. [z] error C2471 错误

    error C2471: 无法更新程序数据库“d:/Work/ Project/FBReader/debug/vc90.pdb” fatal error C1083: 无法打开程序数据库文件:“d:/ ...

  4. JavaScript 中2个等号与3个等号的区别

    首先,== equality 等同,=== identity 恒等. ==, 两边值类型不同的时候,要先进行类型转换,再比较. ===,不做类型转换,类型不同的一定不等. 下面分别说明: 先说 === ...

  5. 咏南WEB开发框架(FOR XE10.1 BERLIN)

    咏南WEB开发框架(FOR XE10.1 BERLIN) 1)支持最新的XE10.1 BERLIN开发WEB程序 2)如同开发VCL WIN32程序一样的速度 3)WEB框架通过咏南中间件和数据库打交 ...

  6. lock模拟CountDownEvent

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. FreeBSD_11-系统管理——{Part_2-核心}

    一.Managing Services in FreeBSD Service restart will only work if it is set to YES in /etc/rc.conf. T ...

  8. 计算机图形学——OpenGL开发库开发库

    vc++6.0 有 OpenGL 的东西.有头文件 GL.H, GLAUX.H, GLU.H 但没有 GLUT 软件包/工具包 如果想使用glut.h的话必须自己添加. 首先下载 OpenGL开发库, ...

  9. ansible 控制windows

    1.installing on the control machine On a Linux control machine: #pip install "pywinrm>=0.1.1 ...

  10. 【洛谷P1969】积木大赛

    递增区间内累计增量 #include<cstdio> #include<cstring> using namespace std; int a,h,n,ans; int mai ...