力扣演算法題 086分隔鍊錶

2022-06-04 01:06:09 字數 906 閱讀 7918

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

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

示例:

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

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

1 #include "

_000庫函式.h"2

3struct

listnode 7};

8910//

感覺用兩條鍊錶可能會更簡單點,但記憶體會大點,

11//

的確,記憶體多了點

12class

solution

26else

30 head = head->next;31}

32 q1->next = p2->next;//

組合為乙個鍊錶

33return p1->next;//

不需要頭結點34}

35};

3637

//用插入法,在原煉表上操作

38class

solution

60else64}

65return head->next;66}

67};

6869

void

t086() ;

75for

(auto a : v)

81 p = head->next;

82while

(p)

86 cout <87 p = s.partition(head->next,3

);88

while

(p)

92 cout <93 }

LeetCode 086 分隔鍊錶

給你乙個鍊錶和乙個特定值 x 請你對鍊錶進行分隔,使得所有小於 x 的節點都出現在大於或等於 x 的節點之前。你應當保留兩個分割槽中每個節點的初始相對位置。示例 輸入 head 1 4 3 2 5 2,x 3 輸出 1 2 2 4 3 5 思路清晰,只需要遍歷一次鍊錶,遇到比 x 小的節點加到單獨一...

力扣第86題分隔鍊錶

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

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