title: 链表归并排序
categories:
- 链表
- 算法
tags:
- 链表
- 归并排序
- 算法
- 排序
链表归并排序
用一张图来说明归并排序:
代码
# Definition for singly-linked list.
class ListNode(object):
def __init__(self, val=0, next=None):
self.val = val
self.next = next
class Solution(object):
# fixme: 归并排序(自底向上合并链表)
def merge(self, node1, node2):
dummy = ListNode()
pre = dummy
while node1 is not None and node2 is not None:
if node1.val <= node2.val:
pre.next = node1
pre = pre.next
node1 = node1.next
else:
pre.next = node2
pre = pre.next
nod