给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。
你应当保留两个分区中每个节点的初始相对位置。
示例:
输入: head = 1->4->3->2->5->2, x = 3 输出: 1->2->2->4->3->5
**难度**: Medium
**标签**: 链表、 双指针、
# -*- coding: utf-8 -*-
# @Author : LG
"""
执行用时:40 ms, 在所有 Python3 提交中击败了88.07% 的用户
内存消耗:13.4 MB, 在所有 Python3 提交中击败了42.98% 的用户
解题思路:
双指针
p指针用于记录位置,q指针寻找小于x的节点。
q指针找到 ListNode:
p, q = ListNode(0, next = head), head # p指针用于记录位置,q指针用于寻找=x,则移动q指针寻找小于x的节点
q = q.next
return start.next