86 分隔鍊錶

2021-10-08 06:37:03 字數 559 閱讀 8012

當鍊表遍歷時,每次節點的next需要指向空時,用如下方法

設定乙個臨時節點,儲存head 的下一節點,然後head.next=null

最後再把next賦值給head;

/**

* * 86. 分隔鍊錶

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

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

* * 示例:

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

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

** @param head

* @param x

* @return

*/public static listnode partition(listnode head, int x) else

} else else

}head = next;

}if (stail != null) else

}

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...