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. mybatis 3.2.2_环境搭建

    1.创建一个工程 utf-8 2.导入jar mybatis-3.2.2.jar 核心包 依赖包: asm-3.3.1.jar cglib-2.2.2.jar commons-logging-1.1. ...

  2. linux获取线程ID

    pthread_self()获取当选线程的ID.这个ID与pthread_create的第一个参数返回的相同.但是与ps命令看到的不同,因此只能用于程序内部,用于对线程进行操作. #include & ...

  3. 小柒2012 / spring-boot-quartz

    spring-boot-quartz 基于spring-boot+quartz的CRUD动态任务管理系统,适用于中小项目. 基于spring-boot 2.x +quartz 的CRUD任务管理系统: ...

  4. Maven上传构建到私服

    通过Maven发布构建到NEXUS私服上发布构建到私服 --- mvn deployPOM中通过distributionManagement分发本地构建到NEXUS私服上第一步,配置distribut ...

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

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

  6. UI5-学习篇-12-Eclipse同步ABAP服务器UI5应用

    如何在ABAP服务器上部署和运行SAPUI5应用程序 https://blogs.sap.com/2013/06/15/how-to-deploy-and-run-sapui5-application ...

  7. Crash 文件调试

    Xcode目录下执行 find . -name symbolicatecrash 找到symbolicatecrash位置,将其拷贝到debug用的文件夹下 执行命令 export DEVELOPER ...

  8. linux shell实现 URL 编码/解码方法

    (1)编码的两种方法 # echo '手机' | tr -d '\n' | xxd -plain | sed 's/\(..\)/%\1/g' # echo '手机' |tr -d '\n' |od ...

  9. linux 时间相关的一些总结

    仅作为内核代码中时间管理模块的笔记,3.10内核,很乱,不喜勿喷. 先有time,后有timer. 常用的time结构有哪些?除了大名鼎鼎的jiffies和jiffies64之外,还有常用的一些结构如 ...

  10. python实现根据指定字符截取对应的行的内容

    工作中遇到的,在一个.c文件中有很多函数,这个.c是自动生成的,需要将所有的函数通过extern放到.h中,每个函数都是UINT32 O_开头,通过正则表达式进行字符匹配以及通过linecache来截 ...