题目:
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.
题意:
合并两个有序表
方法一:性能52ms
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
# @param two ListNodes
# @return a ListNode
def mergeTwoLists(self, l1, l2):
if l1 is None:
return l2
elif l2 is None:
return l1
dummy = ListNode(0)
cur = dummy
while l1 and l2:
if l1.val <= l2.val:
cur.next = l1
l1 = l1.next
else:
cur.next = l2
l2 = l2.next
cur = cur.next
cur.next = l1 or l2
cur = dummy.next
return cur
方法二:性能46ms
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def mergeTwoLists(self, l1, l2):
if l1 == None:
return l2
if l2 == None:
return l1
l3 = ListNode(0)
l = l3
while l1 and l2:
if l1.val <= l2.val:
l3.next = l1
l1 = l1.next
l3 = l3.next
else:
l3.next = l2
l2 = l2.next
l3 = l3.next
if l1 is not None:
l3.next = l1
else:
l3.next = l2
return l.next
这两个方法一看是一样的啊。。怎么性能不同的。。。