题目描述
输入两个版本号 version1 和 version2,每个版本号由多个子版本号组成。
子版本号之间由 “.” 隔开,由大小写字母、数字组成,并且至少有一个字符。
按从左到右的顺序比较子版本号,比较规则如下:
- 子版本号前面的0不参与比较,比如 001 和 1 是相等的。
- 小写字母 > 大写字母 > 数字
- 空字符和0相等,比如 1 和 1.0 相等
比较结果
如果 version1 > version2 ,返回 1
如果 version1 < version2 ,返回-1
其他情况返回0
输入描述
第一行输入version1
第二行输入version2
输出描述
输出version1和version2的比较结果
ACM输入输出模式
如果你经常使用Leetcode,会知道letcode是不需要编写输入输出函数的。但是华为OD机考使用的是 ACM 模式,需要手动编写输入和输出。
所以最好在牛-客上提前熟悉这种模式。例如C++使用cin/cout,python使用input()/print()。JavaScript使用node的readline()和console.log()。Java 使用sacnner/system.out.print()
用例1
输入
5.2
5.1a
输出
1
用例2
输入
5.6.
版本号比较算法

本文介绍了华为OD统一考试B卷中的一道题目,涉及比较两个版本号大小的问题。版本号由子版本号组成,比较规则包括忽略前导0,小写字母大于大写字母大于数字等。文章提供了C++、Java、JavaScript和Python的解题思路和代码示例。
订阅专栏 解锁全文
2711

被折叠的 条评论
为什么被折叠?



