一. 题目
- 题目
- 示例
二. 方法一: 暴力法
-
解题思路
- 将两个字符串以"."分割成列表
- 将两个列表用"0"填充成长度相等
- 然后从开头依次比较相同位置元素的大小
- 如果相等, 继续比较下一位置的元素
- 如果不相等, 则返回结果
-
解题代码
def compareVersion(self, version1: str, version2: str) -> int: list1 = version1.split(".") list2 = version2.split(".") len1 = len(list1) len2 = len(list2) max_len = max(len1, len2) while len1 < max_len: list1.append("0") len1 += 1 while len2 < max_len: list2.append("0") len2 += 1 i = 0 while i < max_len: if int(list1[i]) > int(list2[i]): return 1 elif int(list1[i]) < int(list2[i]): return -1 else: i += 1 return 0
-
分析:
时间复杂度: O(m + n)
空间复杂度: O(m + n)