LeetCode *** 165. Compare Version Numbers
2016-04-11 07:57
127 查看
题目:
Compare two version numbers version1 and version2.
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
The
For instance,
Here is an example of version numbers ordering:
分析:
因为只有数字与'.'所以分开分析即可。
代码:
Compare two version numbers version1 and version2.
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.5is 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
分析:
因为只有数字与'.'所以分开分析即可。
代码:
class Solution { public: int compareVersion(string version1, string version2) { int i=0,j=0; int ilen=version1.length(),jlen=version2.length(); while(i<ilen&&j<jlen){ unsigned int n1=0; unsigned int n2=0; while(version1[i]!='.'&&i<ilen){ n1=n1*10+version1[i]-'0'; i++; } while(version2[j]!='.'&&j<jlen){ n2=n2*10+version2[j]-'0'; j++; } if(n1>n2)return 1; if(n1<n2)return -1; if(i<ilen)++i; if(j<jlen)++j; } while(i<ilen){ unsigned int n1=0; while(version1[i]!='.'&&i<ilen){ n1=n1*10+version1[i]-'0'; i++; } if(i<ilen)++i; if(n1)return 1; } while(j<jlen){ unsigned int n2=0; while(version2[j]!='.'&&j<jlen){ n2=n2*10+version2[j]-'0'; j++; } if(j<jlen)++j; if(n2)return -1; } return 0; } };
相关文章推荐
- LeetCode *** 121. Best Time to Buy and Sell Stock
- LeetCode *** 6. ZigZag Conversion
- Object -c 单例模式
- C#实现四则运算器
- eXtremeDB xsql c/s cfg file sample
- 三和韓長庚 著 正易 對讀 121-160
- 绝壁是原创
- GCC 编译详解
- 全面理解.htaccess语法中RewriteCond和RewriteRule意义
- 6.2.7 QMGR_PEER:跨域组织QMGR_JOB
- 6.3 收件地址的改写
- 6.2.9 QMGR_TRANSPORT_ALLOC
- 6.8.1 qmgr_active_drain函数:从active队列发信
- 对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache
- 通过例子学习 Keystone - 每天5分钟玩转 OpenStack(19)
- 通过例子学习 Keystone - 每天5分钟玩转 OpenStack(19)
- groupcache源码解读
- 第四次作业
- 第六周Android学习笔记
- C语言函数返回类型为指针时的一些问题