Leetcode34: Compare Version Numbers
2015-06-06 20:59
316 查看
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
number sequences.
For instance,
it is the fifth second-level revision of the second first-level revision.
Here is an example of version numbers ordering:
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 lev1=0,lev2=0; int id1=0,id2=0; while(id1!=version1.length()||id2!=version2.length()){ lev1=0; while(id1<version1.length()){ if(version1[id1]=='.'){ ++id1; break; } lev1=lev1*10+(version1[id1]-'0'); ++id1; } lev2=0; while(id2<version2.length()){ if(version2[id2]=='.'){ ++id2; break; } lev2=lev2*10+(version2[id2]-'0'); ++id2; } if(lev1>lev2){ return 1; }else if(lev1<lev2){ return -1; } } return 0; } };
相关文章推荐
- 关于手机短信验证服务
- hdu5258简单枚举
- 项目冲刺计划(七)
- [LeetCode]Count Complete Tree Nodes
- Qt 平台中使GUI保持响应流畅
- load和磁盘占用shell
- 浏览器下载文件编码问题
- linux入门基础——linux权限机制
- 在线测试浏览器兼容性的工具_spoon
- Android开发环境搭建(windows OS)之补充
- 推荐谈论高并发柱
- Pose &&Get的区别
- mysql在windows下两种安装方法
- int、NSInteger、NSUInteger、NSNumber的区别和联系
- 地址解析协议(ARP)
- java基础(十一)--- IO
- MySQL索引原理及慢查询优化
- 经典算法之线性时间选择的C实现方法
- VMware实用小技巧
- BZOJ 1644: [Usaco2007 Oct]Obstacle Course 障碍训练课( BFS )