20 1 3 86 分隔鍊錶

2022-02-10 12:43:12 字數 593 閱讀 8228

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

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

示例:

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

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

思路很簡單,雙指標,兩個偽頭部節點,把小於x的串起來,大於等於x的穿起來,兩個合併即可

雖然我也沒跑出來。。。之前做過一次也沒跑出來,忘了把p2->next設空

class solution 

else

curr = curr->next;

}p2->next = nullptr;

p1->next = dummyhead2->next;

return dummyhead1->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鍊錶逐個開頭遍歷,大於等...

197 分隔鍊錶

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