Compare Version Numbers(STRING-TYPE CONVERTION)
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)的更多相关文章
- 165. Compare Version Numbers (String)
Compare two version numbers version1 and version2. If version1 > version2 return 1, if version1 & ...
- 2016.5.21——Compare Version Numbers
Compare Version Numbers 本题收获: 1.字符串型数字转化为整型数字的方法:s[i] - '0',( 将字母转化为数字是[i]-'A' ) 2.srt.at(),substr ...
- 【leetcode 字符串处理】Compare Version Numbers
[leetcode 字符串处理]Compare Version Numbers @author:wepon @blog:http://blog.csdn.net/u012162613 1.题目 Com ...
- 【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 ...
- 165. Compare Version Numbers - LeetCode
Question 165. Compare Version Numbers Solution 题目大意: 比较版本号大小 思路: 根据逗号将版本号字符串转成数组,再比较每个数的大小 Java实现: p ...
- [LeetCode] 165. Compare Version Numbers 比较版本数
Compare two version numbers version1 and version1.If version1 > version2 return 1, if version1 &l ...
- [LeetCode] Compare Version Numbers 版本比较
Compare two version numbers version1 and version1.If version1 > version2 return 1, if version1 &l ...
- 【leetcode】Compare Version Numbers
题目描述: Compare two version numbers version1 and version2. If version1 > version2 return 1, if vers ...
随机推荐
- 06.linux文件目录操作命令
文件目录操作命令: ls 显示文件和目录列表 -l 列出文件的详细信息 -a 列出当前目录所有文件,包含隐藏文件 mkdir 创建目录 -p 父目录不存在情况下先生成父目录 cd 切换目录 t ...
- oracle常用函数详解(详细)
转自:https://www.cnblogs.com/lxl57610/p/7442130.html Oracle SQL 提供了用于执行特定操作的专用函数.这些函数大大增强了 SQL 语言的功能.函 ...
- delphi c#语法转换
delphi c#语法转换 delphi c# s:array[1..5] of integer TIArr = array of integer; Berlin有这个新功能 TArra ...
- 机器学习-文本数据-文本的相关性矩阵 1.cosing_similarity(用于计算两两特征之间的相关性)
函数说明: 1. cosing_similarity(array) 输入的样本为array格式,为经过词袋模型编码以后的向量化特征,用于计算两两样本之间的相关性 当我们使用词频或者TFidf构造出 ...
- native.js 判断是否安装某app
例:是否安装微信 function isWeixin() { var UIApplication = plus.ios.importClass("UIApplication"); ...
- django403错误(转)
原文:http://blog.sina.com.cn/s/blog_60ccc6e101011ku0.html 处理过程 1.按提示及google结果修改setting.py,在MIDDLEWARE_ ...
- Linux:服务器/客户端API调用错误检查
昨天和今天上午,我分别实现简单的服务器和客户端,运行之后表示没问题,一切正常.但是这还是有问题的,最大的一个就是没有错误检查.现在我们来加上错误检查: 服务器的代码: #include <std ...
- 用C#创建XML, XML格式化输出
demo: XmlDocument doc = new XmlDocument(); XmlDeclaration dec = doc.CreateXmlDeclaration("1.0&q ...
- qurtz.net
Quartz.NET的使用(附源码)(作者 陈珙) 简介 虽然Quartz.NET被园子里的大神们写烂了,自己还是整理了一篇,结尾会附上源码地址. Quartz.NET是一款功能齐全的开源作业调度 ...
- Redis进阶实践之二如何在Linux系统上安装安装Redis(转载)(2)
Redis进阶实践之二如何在Linux系统上安装安装Redis 一.引言 上一篇文章写了“如何安装VMware Pro虚拟机”和在虚拟机上安装Linux操作系统.那是第一步,有了Linux操作系统,我 ...