问,卡在哪里,,,竟然卡在我忘了把指针移位,,,而且还要学会 if-else 的写法
pre.next = l2 if l1 is None else l1
这是迭代
class ListNode:
def __init__(self, x=None, next=None):
self.val = x
self.next = None
l1 = ListNode(2)
head = l1
head.next = ListNode(2)
head = head.next
head.next = ListNode(4)
l2 = ListNode(1)
head = l2
head.next = ListNode(3)
head = head.next
head.next = ListNode(4)
dum = ListNode(None)
pre = dum
while l1 and l2:
if l1.val <= l2.val:
pre.next = l1
l1 = l1.next
else:
pre.next = l2
l2 = l2.next
pre = pre.next
pre.next = l2 if l1 is None else l1
l3 = dum.next
while l3 != None:
print(l3.val)
l3 = l3.next
这是递归,可能找到规律就好写了
class ListNode:
def __init__(self, x=None, next=None):
self.val = x
self.next = None
l1 = ListNode(2)
head = l1
head.next = ListNode(2)
head = head.next
head.next = ListNode(4)
l2 = ListNode(1)
head = l2
head.next = ListNode(3)
head = head.next
head.next = ListNode(4)
# 递归
def pai(l1, l2):
if l1 == None: return l2
if l2 == None: return l1
if l1.val <= l2.val:
pre = l1
l1 = l1.next
pre.next = pai(l1, l2)
else:
pre = l2
l2 = l2.next
pre.next = pai(l1, l2)
return pre
head = pai(l1, l2)
while head != None:
print(head.val)
head = head.next
5.23 可能不能再继续刷题了,混混乱乱过了这十几天,决定还是先做好自己的东西吧