class ListNode:
def init(self, x):
self.val = x
self.next = None
class Solution:
def mergeTwoLists(self, l1, l2):
"""
:type l1: ListNode
:type l2: ListNode
:rtype: ListNode
"""
head = ListNode(0)
first = head
while l1!=None and l2!=None:
if l1.val <= l2.val:
head.next = l1
l1 = l1.next
else:
head.next = l2
l2 = l2.next
head = head.next
if l1 != None:
head.next = l1
elif l2 != None:
head.next = l2
return first.next
head1 = ListNode(1)
n1 = ListNode(2)
n2 = ListNode(4)
n3 = ListNode(5)
head1.next = n1
n1.next = n2
n2.next = n3
有序链表
head2 = ListNode(1)
m1 = ListNode(2)
m2 = ListNode(3)
m3 = ListNode(8)
head2.next = m1
m1.next = m2
m2.next = m3
s = Solution()
res = s.mergeTwoLists(head1,head2)
while res:
print(res.val)
res = res.next
转载于:https://blog.51cto.com/13930723/2311551