LeetCode 165. Compare Version Numbers 解题报告
2016-02-17 17:16
483 查看
165. Compare Version Numbers
My SubmissionsQuestion
Total Accepted: 45262 Total
Submissions: 268639 Difficulty: Easy
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.5is 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
Credits:
Special thanks to @ts for adding this problem and creating all test cases.
Subscribe to see which companies asked this question
Show Tags
Have you met this question in a real interview?
Yes
No
Discuss
这道题其实很简单,但是难在边界条件!两次WA在边界条件上。“1.0”和“1”是相等的,“1.1”是大于“1”的,注意这两个边界条件。
public class CompareVersionNumbers { public static void main(String[] args) { System.out.println(compareVersion("1.1", "1.11")); System.out.println(compareVersion("1.10", "1.9")); System.out.println(compareVersion("1.10", "1.10")); System.out.println(compareVersion("1.0", "1")); System.out.println(compareVersion("1.1", "1")); } public static int compareVersion(String version1, String version2) { String[] v1 = version1.split("\\."); String[] v2 = version2.split("\\."); for (int i = 0; i < v1.length || i < v2.length; i++) { if (i >= v1.length) if (Integer.parseInt(v2[i]) == 0) continue; else return -1; if (i >= v2.length) if (Integer.parseInt(v1[i]) == 0) continue; else return 1; int n1 = Integer.parseInt(v1[i]); int n2 = Integer.parseInt(v2[i]); if (n1 > n2) return 1; if (n1 < n2) return -1; } return 0; } }
相关文章推荐
- 【转】Nginx搭建反向代理服务器过程详解
- PHP获取时间排除周六、周日的两个方法
- Java程序员常用工具类库 - 目录(转)
- 许朝军
- Relative 定位与Absolute 定位实例
- Lastpass——密码管理工具
- SourceTree 安装教程
- android window 一些属性说明
- HDU ACM 1050 Moving Tables(贪心 + 区间覆盖问题)
- Apache与Tomcat有什么关系和区别
- Dex文件结构及对应的数据结构
- Xcode LaunchImage 载入界面大小设置
- linux date -d 的一些使用方法
- 年后小结
- [转] 小tip: 使用CSS将图片转换成模糊(毛玻璃)效果 ---张鑫旭
- SQL 常用方法
- java基础
- hbase0.98暴力数据迁移方案
- Git 命令清单
- Java中Runnable和Thread的区别