class ListNode(object):
def __init__(self, val, next=None):
self.val = val
self.next = next
def nums_to_linklist(li):
if not li:
return None
else:
head = ListNode(li[0])
node = head
for i in li[1:]:
node.next = ListNode(i)
node = node.next
return head
def sort_linklist(a, b):
if not a and not b:
return None
else:
res = ListNode(0)
temp = res
while a and b:
if a.val <= b.val:
temp.next = ListNode(a.val)
temp = temp.next
a = a.next
else:
temp.next = ListNode(b.val)
temp = temp.next
b = b.next
if a:
temp.next = a
if b:
temp.next = b
return res.next
if __name__ == '__main__':
li_1 = list(map(int, input().split(" ")))
li_2 = list(map(int, input().split(" ")))
num1 = nums_to_linklist(li_1)
num2 = nums_to_linklist(li_2)
ans = sort_linklist(num1, num2)
while ans:
print(ans.val, end=" ")
ans = ans.next
两个升序链表的合并,ACM模式
最新推荐文章于 2024-08-20 23:02:50 发布