Compare Version Numbers
2015-11-20 22:25
330 查看
题目描述
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.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.11 < 1.21 < 13.371
题目解答
解题思路
算法思想:对.进行分割,然后逐个比较数字的大小
代码实现
public class Solution { public int compareVersion(String version1, String version2) { int len1 = version1.length(); int len2 = version2.length(); //注意是i < len1 || j < len2 for(int i = 0, j = 0; i < len1 || j < len2; i++, j++){ int num1 = 0; while(i < len1 && version1.charAt(i) != '.'){ num1 = num1*10 + (version1.charAt(i)-'0'); i++; } int num2 = 0; while(j < len2 && version2.charAt(j) != '.'){ num2 = num2*10 + (version2.charAt(j) -'0'); j++; } if(num1 > num2) return 1; else if(num1 < num2) return -1; } return 0; } }
相关文章推荐
- Java中HashMap,LinkedHashMap,TreeMap的区别
- 10G rac 因为ocr原因导致crs不能启动的排查二例
- HDOJ 2016 数据的交换输出
- 多线程安全问题
- No match found for 'my_favorites' in the search path
- 南大软院21天大神养成计划-第4天
- Fresco加载显示gif图片
- MySQL与MongoDB的操作对比,以及区别
- 5.1.3 date对象
- triangle
- 5.1.3 date对象
- 在C++中实现foreach循环,比for_each更简洁!
- C++ inline
- 《软件方法》阅读笔记(二)
- HDU4324-Triangle LOVE-判断是否存在环(拓扑)
- [笔记-架构探险]框架优化与功能扩展3.2.安全框架shiro、提供安全控制特性
- ubuntu java 环境变量设置
- 使用TCP协议的NAT穿透技术 (转)
- java深坑总结
- Web Service基础篇(一)之AXIS2