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. 白鹭引擎 - 文本类型 ( TextField, )

    1, 普通文本 class Main extends egret.DisplayObjectContainer { public constructor() { super(); this.addEv ...

  2. Firefox What's New 太难找了

    Firefox每次更新版本,不知道更新了什么,找不到Waht‘s New,做个记录! 1.点击mozilla下拉 2.最左侧 MOZILLA>SUPPORT>Firefox 3.https ...

  3. IO 和 NIO 的区别

    IO:阻塞IO,面向流:当一个线程调用read() 或 write()时,该线程被阻塞,直到有一些数据被读取,或数据完全写入,该线程在此期间不能再干任何事情了:可以有少量的连接使用非常高的带宽,一次发 ...

  4. Others-工具箱

    pycharm下载激活工具 : https://www.lanzous.com/i20tl8f作者(来源):https://www.52pojie.cn/thread-803822-1-1.html ...

  5. ABAP-邮件发送

    *&---------------------------------------------------------------------* *& Report ZRICO_TES ...

  6. Word Ladder 有必要深究。非图的广度优先遍历。标记

    感觉很生疏. https://leetcode.com/problems/word-ladder/

  7. 翻转单链表 leetcode Reverse Linked List

    翻转一个单链表.这个题目听说很多次了,总感觉肯定不是什么难题. 现在真的有点好高骛远了!总感觉那种很难的算法题才是难题,这种题没必要做.其实眼高手低啊. 这种easy题,我都不能一遍ac,这遇到白板编 ...

  8. js 正则函数初级之二

    1. 小括号在正则中: 1.1 小括号:表示分组 1.2 分组之后,,每个组都有一个序号,从左到右,依次为1,2,3.......:可以使用 RegExp.$1,RegExp.$2,RegExp.$3 ...

  9. jquery接触初级-----juqery DOM操作 之二

    DOm 操作之: 1.1  children(),这个函数只是查找元素的子元素,而不考虑其他后代元素 <body> <p title="请选择你最喜欢的水果"&g ...

  10. C# 模拟鼠标操作

    [Flags] enum MouseEventFlag : uint //设置鼠标动作的键值 { Move = 0x0001, //发生移动 LeftDown = 0x0002, //鼠标按下左键 L ...