Leetcode165. Compare Version Numbers
来源:互联网 发布:网吧电脑保护软件 编辑:程序博客网 时间:2024/05/22 06:38
原题
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.1 < 1.2 < 13.37
大意
比较版本的大小,版本是以字符串的形式给出来的,包含字母和.
思路
1、想把字符串中的.都除去,然后转化为数值,比较数值的大小,但是就有可能出现越界的情况。
2、使用函数把.除去,转化为数组,然后比较两个数组中元素的大小
代码
public class Solution { public int compareVersion(String version1, String version2) { //注意这里的函数version1.split,.是转义字符,所以使用"\\." String [] v1=version1.split("\\."); String [] v2=version2.split("\\."); int i=0; int j=0; while(i<v1.length&&j<v2.length){ //v1数组中的元素是字符,要转化为整数进行比较 if(Integer.parseInt(v1[i])==Integer.parseInt(v2[j])){ i++; j++; }else if (Integer.parseInt(v1[i])>Integer.parseInt(v2[j])) { return 1; }else { return -1; } } //如果一个达到了数组的长度,但是不确定另一个数组在这个长度之后是都为0还是有数值。就是类似于1.2.3.0和1.2.3是一个版本 if(i!=v1.length) { for(;i<v1.length;i++){ if(Integer.parseInt(v1[i])!=0) return 1; } } if(j!=v2.length) { for(;j<v2.length;j++){ if(Integer.parseInt(v2[j])!=0) return -1; } } return 0; }}
原题地址
0 0
- [Leetcode165] Compare Version Numbers
- LeetCode165. Compare Version Numbers
- leetcode165---Compare Version Numbers
- leetcode165. Compare Version Numbers
- LeetCode165. Compare Version Numbers
- leetcode165. Compare Version Numbers
- Leetcode165. Compare Version Numbers
- leetcode165. Compare Version Numbers
- [Java]Leetcode165 Compare Version Numbers
- LeetCode165——Compare Version Numbers
- LeetCode165 Compare Version Number 比较版本号
- Leetcode Compare Version Numbers
- Compare Version Numbers
- [leetcode] Compare Version Numbers
- Compare Version Numbers
- Compare Version Numbers
- [leetcode] Compare Version Numbers
- Compare Version Numbers
- mysql 的innoDB和NDB数据库引擎
- 简单实现一个固定大小的内存池
- linux 中常用目录的含义
- 树莓派不小心误删了桌面的回收站,如何找回
- 设计模式-创建型模式:单例模式 Singleton
- Leetcode165. Compare Version Numbers
- css学习之定位
- spring+mybatis报Cannot load JDBC driver class ${xxxxx}'错误
- 安卓中各种对话框
- Git学习
- 文本比较中的秘密
- Java线程池的使用
- centos6.5使用yum安装mysql
- debug报错injection of autowired dependencies failed