Java实现 LeetCode 165 比较版本号
2023-09-14 08:58:06 时间
165. 比较版本号
比较两个版本号 version1 和 version2。
如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。
你可以假设版本字符串非空,并且只包含数字和 . 字符。
. 字符不代表小数点,而是用于分隔数字序列。
例如,2.5 不是“两个半”,也不是“差一半到三”,而是第二版中的第五个小版本。
你可以假设版本号的每一级的默认修订版号为 0。例如,版本号 3.4 的第一级(大版本)和第二级(小版本)修订号分别为 3 和 4。其第三级和第四级修订号均为 0。
示例 1:
输入: version1 = “0.1”, version2 = “1.1”
输出: -1
示例 2:
输入: version1 = “1.0.1”, version2 = “1”
输出: 1
示例 3:
输入: version1 = “7.5.2.4”, version2 = “7.5.3”
输出: -1
示例 4:
输入:version1 = “1.01”, version2 = “1.001”
输出:0
解释:忽略前导零,“01” 和 “001” 表示相同的数字 “1”。
示例 5:
输入:version1 = “1.0”, version2 = “1.0.0”
输出:0
解释:version1 没有第三级修订号,这意味着它的第三级修订号默认为 “0”。
提示:
版本字符串由以点 (.) 分隔的数字字符串组成。这个数字字符串可能有前导零。
版本字符串不以点开始或结束,并且其中不会有两个连续的点。
class Solution {
public int compareVersion(String version1, String version2) {
String[] a1 = version1.split("\\.");
String[] a2 = version2.split("\\.");
for(int n = 0; n < Math.max(a1.length, a2.length); n++){
int i = (n < a1.length ? Integer.valueOf(a1[n]) : 0);
int j = (n < a2.length ? Integer.valueOf(a2[n]) : 0);
if(i < j) return -1;
else if(i > j) return 1;
}
return 0;
}
}
相关文章
- java helloworld源代码_Java Hello World源代码notepad++版
- java工具类-Java对象转换成Map
- java calendar 设置小时_Java Calendar.set 方法设置时间的问题
- java运行机制是什么_JAVA运行机制
- java后端开发需要学什么_从事Java后端开发,要学习哪些知识和技能?[通俗易懂]
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- java redis锁_Java中Redis锁的实现[通俗易懂]
- java webservice实现_JAVA WebService的实现方式
- 物业管理系统源码java_Java小区物业管理系统 源码报告下载
- java的栈内存和堆内存_Java本地方法栈
- java url加密_Java实现url加密处理的方法示例
- java 测试程序代码运行时间过长_Java测试
- intellij怎么创建Java_intellij idea创建java项目
- Java 连接 MySQL 数据库简易实现(java连mysql)
- Java监控MySQL性能:实现数据库运行优化(java监控mysql)
- Java编程操作Oracle数据库(java操作oracle)
- Java连接SQL Server:实现数据库完美对接(java链接sqlserver)
- Java如何查询MySQL?25字(java查询mysql)
- Java实现MySQL数据插入(java插入mysql)
- 使用Java程序执行Linux指令:实现自动化操作(java执行linux命令)
- Java解答Oracle使用更轻松的实现方式(oracle写成java)
- Redis中使用Java快速实现自增(redis自增 java)