QUESTION

Compare two version numbers version1 and version1.
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
1ST TRY

class Solution {
public:
int compareVersion(string version1, string version2) {
int integer1 = ;
int integer2 = ;
int i1 = ;
int i2 = ; while(i1 < version1.length())
{
integer1 = *integer1 + version1[i1++] - '';
if(version1[i1] == '.')
{
i1++;
break;
}
}
while(i2 < version2.length())
{
integer2 = *integer2 + version2[i2++] - '';
if(version2[i2] == '.')
{
i2++;
break;
}
}
if(integer1 > integer2) return ;
else if(integer1 < integer2) return -; integer1 = ;
integer2 = ;
while(i1 < version1.length())
{
integer1 = *integer1 + version1[i1++] - '';
}
while(i2 < version2.length())
{
integer2 = *integer2 + version2[i2++] - '';
}
if(integer1 > integer2) return ;
else if(integer1 < integer2) return -;
else return ;
}
};

Result: Wrong

Input: "1.1", "1.01.0"
Output: -1
Expected: 0

2ND TRY

考虑有不只一个小数点的情况

class Solution {
public:
int compareVersion(string version1, string version2) {
int integer1 = ;
int integer2 = ;
int i1 = ;
int i2 = ; while(i1 < version1.length() || i2 < version2.length())
{
while(i1 < version1.length())
{
integer1 = *integer1 + version1[i1++] - '';
if(version1[i1] == '.')
{
i1++;
break;
}
}
while(i2 < version2.length())
{
integer2 = *integer2 + version2[i2++] - '';
if(version2[i2] == '.')
{
i2++;
break;
}
}
if(integer1 > integer2) return ;
else if(integer1 < integer2) return -; integer1 = ;
integer2 = ;
}
return ;
}
};

Result: Accepted

Compare Version Numbers(STRING-TYPE CONVERTION)的更多相关文章

  1. 165. Compare Version Numbers (String)

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

  2. 2016.5.21——Compare Version Numbers

    Compare Version Numbers 本题收获: 1.字符串型数字转化为整型数字的方法:s[i] - '0',( 将字母转化为数字是[i]-'A'   ) 2.srt.at(),substr ...

  3. 【leetcode 字符串处理】Compare Version Numbers

    [leetcode 字符串处理]Compare Version Numbers @author:wepon @blog:http://blog.csdn.net/u012162613 1.题目 Com ...

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

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

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

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

  6. 165. Compare Version Numbers - LeetCode

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

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

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

  8. [LeetCode] Compare Version Numbers 版本比较

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

  9. 【leetcode】Compare Version Numbers

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

随机推荐

  1. hadoop集群namenode同时挂datanode

    背景:(测试环境)只有两台机器一台namenode一台namenode,但集群只有一个结点感觉不出来效果,在namenode上挂一个datanode就有两个节点,弊端见最后 操作非常简单(添加独立节点 ...

  2. gitlab入门

    目录 git下载 注册ssh git客户端及图形化工具tortoisegit下载: git客户端安装: https://git-scm.com/download   (git客户端 此种需要命令行执行 ...

  3. Django--ORM(模型层)-重点

    一.ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库, 通过简单的配置就可以轻松更换数据库,这极大的减轻了开发 ...

  4. UI5-学习篇-13-Eclipse 开发UI5应用

    1.Eclipse环境配置及组件安装 UI5-学习篇-1-Eclipse开发工具及环境搭建 2.创建项目 3.设置代理映射 打开WebContent->WEB-INF->web.xml文件 ...

  5. 池以及barrier简单

    用了下CyclicBarrier,注意线程池中的线程数量设置,还有就是DB连接的时候,需要考虑单个DB能承受的最大连接数目和每个连接上能同时打开的cursor等限制,需要时可以通过jstack查看堆栈 ...

  6. C++操作oracle数据库

    数据库操作方式:可以采用ADO方式,也可以采用oracle本身提供的Proc*C/C++或者是OCCI方式操作数据库.  连接方式:可以是客户端连接.也可以是服务器端连接.  数据库配置:无论是何种连 ...

  7. DBCC维护语句语法

    一.DBCC维护语句:对数据库.索引或文件组进行维护的任务--1.DBCC CLEANTABLE,回收删除的可变长度列和文本列的空间 DBCC CLEANTABLE  ( { 'database_na ...

  8. WilliamChart各种图表效果实现大全《IT蓝豹》

    WilliamChart各种图表效果实现大全,有水平线条表格,有柱状表格等.由LineFragment,BarFragment,StackedFragment,SandboxFragment几个fra ...

  9. Out of range value for column 'phon' at row 1

    解决方法 : int(11) 改成 bigint(50)

  10. HTML css 样式表

    CSS样式表 2.1.样式表的基本概念 2.1.1.样式表分类 1.内联样式表 和html联合显示,控制精确,但是可重用性差,冗余多. 例:<p style="font-size:14 ...