leetcode:Compare Version Numbers
来源:互联网 发布:企业淘宝开店流程图解 编辑:程序博客网 时间:2024/03/29 04:43
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
public class Solution { static final double EPS = 0.0000001; static final String POINT = "."; public int compareVersion(String version1, String version2) { int from1 = 0; int from2 = 0; int end1 = 0; int end2 = 0; do{ end1 = version1.indexOf(POINT, from1); end2 = version2.indexOf(POINT, from2); if(end1 == -1){ end1 = version1.length(); } if(end2 == -1){ end2 = version2.length(); } int n1 = Integer.valueOf(version1.substring(from1, end1)); int n2 = Integer.valueOf(version2.substring(from2, end2)); if(n1 != n2) return n1 > n2 ? 1 : -1; from1 = end1 + 1; from2 = end2 + 1; }while(from1 != 0 && from2 != 0 && from1 < version1.length() && from2 < version2.length()); if(from1 < version1.length()){ do { end1 = version1.indexOf(POINT, from1); if(end1 == -1)end1 = version1.length(); int n1 = Integer.valueOf(version1.substring(from1, end1)); if(n1 > 0) return 1; from1 = end1 + 1; }while(from1 < version1.length()); } else if(from2 < version2.length()){ do{ end2 = version2.indexOf(POINT, from2); if(end2 == -1) end2 = version2.length(); int n2 = Integer.valueOf(version2.substring(from2, end2)); if(n2 > 0) return -1; from2 = end2 + 1; }while(from2 < version2.length()); } return 0; } }
0 0
- Leetcode Compare Version Numbers
- [leetcode] Compare Version Numbers
- [leetcode] Compare Version Numbers
- Leetcode: Compare Version Numbers
- 【Leetcode】:Compare Version Numbers
- leetcode:Compare Version Numbers
- [LeetCode]Compare Version Numbers
- [leetCode] Compare Version Numbers
- [leetcode] Compare Version Numbers
- 【Leetcode】Compare Version Numbers
- [LeetCode] Compare Version Numbers
- Leetcode: Compare Version Numbers
- LeetCode-Compare Version Numbers
- leetcode:Compare Version Numbers
- LeetCode--Compare Version Numbers
- Compare Version Numbers Leetcode
- Compare Version Numbers --- LeetCode
- [LeetCode] Compare Version Numbers
- java解析XML
- 黑客枚举攻击,撞库导出12306几十万用户密码,可是不一定是真相
- php项目部署到linux服务器访问报错_STORAGE_WRITE_ERROR_:./Runtime/Cache/Home/
- 用Lua编写iOS程序
- 利用Java实现zip压缩/解压缩
- leetcode:Compare Version Numbers
- 将一个十六进制字符串转换为十进制数值的问题
- 互联网网站的反爬虫策略浅析
- CentOS的生命周期
- jquery wrap,wrapAll,wrapInner 区别:
- 二值图像--形态学处理2 腐蚀和膨胀
- 在cocos2dx 中添加自定义 shaders --- 改变 HSL 色调,饱和度, 亮度
- 实战:sqlserver 2012 扩展事件-XML转换为标准的table格式v1
- linux命令------cat命令