实现 compare 方法,比较两个版本号的大小,版本号规则 x.y.z,xyz 均为大于等于 0 的整数 如果 version1 > version2 返回1 如果version1 < version2,返回 -1 相等返回 0
时间: 2024-05-15 10:18:08 浏览: 73
比较版本号算法
好的,我已经理解你的问题了。以下是一个可能的实现:
```python
def compare(version1: str, version2: str) -> int:
v1 = version1.split('.')
v2 = version2.split('.')
n = max(len(v1), len(v2))
for i in range(n):
ver1 = int(v1[i]) if i < len(v1) else 0
ver2 = int(v2[i]) if i < len(v2) else 0
if ver1 > ver2:
return 1
elif ver1 < ver2:
return -1
return 0
```
首先,我们将版本号字符串按 '.' 分割成三个整数,存放在两个列表中 v1 和 v2。为了方便比较,我们补齐较短的列表以保证它们的长度相等,不足部分用 0 填充。
然后,我们一次比较每个位置上的数字,如果 ver1 大于 ver2,就返回 1,表示 version1 大于 version2;如果 ver1 小于 ver2,就返回 -1,表示 version1 小于 version2;如果所有位置的数字都相等,就返回 0,表示 version1 和 version2 相等。
希望这个实现能够满足你的需求。如果你有其他问题,请随时问我。
阅读全文