LeetCode-分隔链表

it2025-04-22  11

86. 分隔链表

给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。

你应当保留两个分区中每个节点的初始相对位置。

示例:

输入: head = 1->4->3->2->5->2, x = 3 输出: 1->2->2->4->3->5

代码

class Solution { public ListNode partition(ListNode head, int x) { ListNode dummyNode1 = new ListNode(0); ListNode dummyNode2 = new ListNode(0); ListNode node1 = dummyNode1; ListNode node2 = dummyNode2; while(head != null){ if(head.val < x){ node1.next = head; head = head.next; node1 = node1.next; node1.next = null; }else{ node2.next = head; head = head.next; node2 = node2.next; node2.next = null; } } node1.next = dummyNode2.next; return dummyNode1.next } }

最新回复(0)