题目描述
编写程序以 x 为基准分割链表,使得所有小于 x 的节点排在大于或等于 x 的节点之前。如果链表中包含 x,x 只需出现在小于 x 的元素之后(如下所示)。分割元素 x 只需处于“右半部分”即可,其不需要被置于左右两部分之间。
示例:
1 | 输入: head = 3->5->8->5->10->2->1, x = 5 |
题解
双指针
每遍历到一个小于目标值的数, 就把该节点放到链表头部
1 | public ListNode partition(ListNode head, int x) { |