leetcode 165
2016-06-02 20:32
316 查看
165 easy Compare Version Numbers
*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.5 is 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:*
这道题刚开始自己写的时候 没有考虑会有两个比较的数用split分开后个数不同的情况 在参考了别人的程序之后 发现时会有这种情况发生的 所以要有两个变量来存储这两个要比较的数的长度 还有就是要注意 split()函数 返回的是字符串数组 要比较两个数的大小时要用int来抢转换 不然的话 比如n1=’01.1’ n2=’1.1’则会出现错误。
*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.5 is 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:*
class Solution(object): def compareVersion(self, version1, version2): """ :type version1: str :type version2: str :rtype: int """ l1=version1.split('.') l2=version2.split('.') n1=len(l1) n2=len(l2) i=0 while i<n1 and i<n2: if int(l1[i])<int(l2[i]): return -1 elif int(l1[i])>int(l2[i]): return 1 else: i+=1 if n1==n2: return 0 elif n1<n2: return -1 if len([v for v in l2[i:] if int(v)!=0])>0 else 0 elif n1>n2: return 1 if len([v for v in l1[i:] if int(v)!=0])>0 else 0
这道题刚开始自己写的时候 没有考虑会有两个比较的数用split分开后个数不同的情况 在参考了别人的程序之后 发现时会有这种情况发生的 所以要有两个变量来存储这两个要比较的数的长度 还有就是要注意 split()函数 返回的是字符串数组 要比较两个数的大小时要用int来抢转换 不然的话 比如n1=’01.1’ n2=’1.1’则会出现错误。
相关文章推荐
- leetcode 179 Largest Number
- leetcode 24 Swap Nodes in Pairs
- leetcode 2 Add Two Numbers 方法1
- leetcode 2 Add Two Numbers 方法2
- leetcode----Longest Substring Without Repeating Characters
- [LeetCode]47 Permutations II
- [LeetCode]65 Valid Number
- [LeetCode]123 Best Time to Buy and Sell Stock III
- [LeetCode] String Reorder Distance Apart
- [LeetCode] Sliding Window Maximum
- [LeetCode] Find the k-th Smallest Element in the Union of Two Sorted Arrays
- [LeetCode] Determine If Two Rectangles Overlap
- [LeetCode] A Distance Maximizing Problem
- leetcode_linearList
- leetcode_linearList02
- 021-Merge Two Sorted Lists(合并两个排好序的单链表);leetcode
- LeetCode[Day 1] Two Sum 题解
- LeetCode[Day 2] Median of Two Sorted Arrays 题解
- LeetCode[Day 3] Longest Substring Without... 题解
- LeetCode [Day 4] Add Two Numbers 题解