LeetCode 086 分隔鍊錶

2021-10-14 07:52:17 字數 699 閱讀 5134

給你乙個鍊錶和乙個特定值 x ,請你對鍊錶進行分隔,使得所有小於 x 的節點都出現在大於或等於 x 的節點之前。

你應當保留兩個分割槽中每個節點的初始相對位置。

示例:輸入:head = 1->4->3->2->5->2, x = 3

輸出:1->2->2->4->3->5

思路清晰,只需要遍歷一次鍊錶,遇到比 x 小的節點加到單獨一邊,大於等於 x 的節點加到另外一邊,最後小的那邊的尾節點的 next 指向大的部分的頭節點即可

class

solution

listnode smallhead =

newlistnode(-

1); listnode small = smallhead;

listnode largehead =

newlistnode(-

1); listnode large = largehead;

while

(head != null)

else

head = head.next;

} large.next = null;

// 為了斷開鍊錶可能存在的環

small.next = largehead.next;

return smallhead.next;

}}

力扣演算法題 086分隔鍊錶

給定乙個鍊錶和乙個特定值x,對鍊錶進行分隔,使得所有小於 x 的節點都在大於或等於 x 的節點之前。你應當保留兩個分割槽中每個節點的初始相對位置。示例 輸入 head 1 4 3 2 5 2,x 3 輸出 1 2 2 4 3 5 1 include 000庫函式.h 2 3struct listno...

leetcode 鍊錶 86 分隔鍊錶

給定乙個鍊錶和乙個特定值x,對鍊錶進行分隔,使得所有小於 x 的節點都在大於或等於 x 的節點之前。你應當保留兩個分割槽中每個節點的初始相對位置。示例 輸入 head 1 4 3 2 5 2,x 3輸出 1 2 2 4 3 5大數結點指標總是指向後續結點,遇到小數結點,則前移到小數結點的尾結點 de...

Leetcode86 分隔鍊錶

題目描述 給定乙個鍊錶和乙個特定值x,對鍊錶進行分隔,使得所有小於 x 的節點都在大於或等於 x 的節點之前。你應當保留兩個分割槽中每個節點的初始相對位置。示例 輸入 head 1 4 3 2 5 2,x 3 輸出 1 2 2 4 3 5演算法描述 此題有兩種解法,第一種就是將所有小於給定值的節點取...