def partition(self, head: ListNode, x: int) -> ListNode:
"""在原链表操作,思路基本一致,只是通过指针进行区分而已"""
# 在链表最前面设定一个初始node作为锚点,方便返回最后的结果
# 设计三个指针,一个指向小于x的最后一个节点,即前后分离点
while current_node is not None:
current_node = current_node.next
pre_node.next = current_node.next
current_node.next = sep_node.next
sep_node.next = current_node
current_node = pre_node.next
current_node = pre_node.next