給定乙個鍊錶和乙個特定值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...