一、题目描述
给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。
你应当保留两个分区中每个节点的初始相对位置。
示例:
1 | 输入: head = 1->4->3->2->5->2, x = 3 |
二、题解
1.算法描述
- 迭代
2.个人分析
- 用head指针遍历链表,并申请两个节点;
- 比
x
大的节点接在smaller后边;比x
小的节点接在bigger后边; - 吧bigger接在smaller后边。
3.代码
1 | /** |
给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。
你应当保留两个分区中每个节点的初始相对位置。
示例:
1 | 输入: head = 1->4->3->2->5->2, x = 3 |
x
大的节点接在smaller后边;比x
小的节点接在bigger后边;1 | /** |