【Leetcode】Compare Version Numbers
来源:互联网 发布:更改数据库所有者 编辑:程序博客网 时间:2024/03/29 21:05
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这道题真心是debug最费劲的一道。。。各种考虑不到的情况
我的思路比较简单,就是通过‘.’split之后,一个一个数字去比较,其他的就是去debug了……
package testAndfun;public class CompareVersionNum {public static void main(String[] args){CompareVersionNum cvn = new CompareVersionNum();String input1 = new String("1.1");String input2 = new String("1.01.0");System.out.println(cvn.compareVersion(input1, input2));} public int compareVersion(String version1, String version2) { if(!version1.contains(".")||!version2.contains("."))if(Float.parseFloat(version1)==Float.parseFloat(version2))return 0;elsereturn Float.parseFloat(version1)>Float.parseFloat(version2)?1:-1; String[] ver1 = new String[100]; String[] ver2 = new String[100]; ver1 = version1.split("\\."); ver2 = version2.split("\\."); int mark = 0; if(ver1.length>ver2.length) mark = Integer.parseInt(ver1[ver1.length-1]); if(ver1.length<ver2.length) mark = Integer.parseInt(ver2[ver2.length-1]); for(int i=0;i<Math.min(ver1.length, ver2.length);i++){ //System.out.println(ver1[i]+"?"+ver2[i]); //System.out.println(ver1.length+"长度"+ver2.length); if(Integer.parseInt(ver1[i])>Integer.parseInt(ver2[i])|| (ver1[i]!=null&&ver2[i]==null))return 1; if(Integer.parseInt(ver1[i])<Integer.parseInt(ver2[i])|| (ver1[i]==null&&ver2[i]!=null))return -1; if(Integer.parseInt(ver1[i])==Integer.parseInt(ver2[i]) &&i==ver1.length-1&&i==ver2.length-1)return 0; }if(mark==0)return 0;else return ver1.length>ver2.length?1:-1; }}
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
- N-Queens II
- quick-cocos2dx 学习篇(一) -------WINDOWS IDE断点调试搭建
- 固态硬盘(SSD)原理简介
- <深入剖析Nginx> 编译安装nginx 以及使用eclipse编译开发nginx
- 1030. 完美数列(25)
- 【Leetcode】Compare Version Numbers
- Linux常用命令
- sqlserver提供的表级锁
- MySQL开启远程连接方法
- 【问底】徐汉彬:亿级Web系统搭建——单机到分布式集群
- 策略设计模式:父类持有接口成员变量,动态设定接口成员实现类,动态改变方法
- STL中的queue
- 转载:iOS开发的22个奇谲巧技
- GUI入门