86 分隔鍊錶

2021-10-14 23:33:24 字數 580 閱讀 1279

找個大頭記錄連線著大於目標值的

找個小頭記錄連線小於目標值的

最後串起來即可

真巧妙,居然鍊錶沒亂。

因為我遍歷的時候是從頭到尾一直在跑的,至於我走過的路變成了什麼樣子,我不關心,只要別擋我的路就行

/**

* definition for singly-linked list.

* struct listnode

* listnode(int x) : val(x), next(nullptr) {}

* listnode(int x, listnode *next) : val(x), next(next) {}

* };

*/class

solution

else

p = p-

>next;

} small-

>next = bighead.next;

big-

>next =

null

;return smallhead.next;}}

;

86 分隔鍊錶

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

86 分隔鍊錶

給定乙個鍊錶和乙個特定值 x,對鍊錶進行分隔,使得所有小於 x 的節點都在大於或等於 x 的節點之前。你應當保留兩個分割槽中每個節點的初始相對位置。示例 輸入 head 1 4 3 2 5 2,x 3 輸出 1 2 2 4 3 5 方法 遍曆法 思路 定義兩個新鍊錶,head鍊錶逐個開頭遍歷,大於等...

86 分隔鍊錶

本來想用快慢指標做的,就像面試題02.04,交換節點的值,但是這樣不能保證每個結點的初始相對位置,於是就只能構造兩個鍊錶large和small,分別存放大於x的節點和小於x的節點,再把兩個鍊錶拼接起來。definition for singly linked list.struct listnode...