分割連結串列
題目描述:
給定一個連結串列和一個特定值 x,對連結串列進行分隔,使得所有小於 x 的節點都在大於或等於 x 的節點之前。
你應當保留兩個分割槽中每個節點的初始相對位置。
示例:
輸入: head = 1->4->3->2->5->2, x = 3
輸出: 1->2->2->4->3->5
連結:https://leetcode-cn.com/problems/partition-list/
思路分析:比x節點值大,在右邊,比x節點值小,在左邊。
- 先開闢兩個節點,用於儲存左右節點的首節點。
- 遍歷連結串列,然後比較,小的放左邊,大的放右邊。
例如:
class Solution {
public:
ListNode* partition(ListNode* head, int x) {
if(head == nullptr)
return nullptr;
ListNode* min = new ListNode;//小於
ListNode* max = new ListNode;//大於等於
ListNode* p = min;//小於
ListNode* q = max;//大於等於
while(head != nullptr)
{
if(head->val >= x)
{
max->next = head;
max = head;
}
else
{
min->next = head;
min = head;
}
head = head->next;
}
max->next = nullptr;
min->next = q->next;
head = p->next;
delete p;
delete q;
return head;
}
};
相關文章
- Leetcode_86_分割連結串列_連結串列LeetCode
- LeetCode 第 86 號問題:分割連結串列LeetCode
- 連結串列-迴圈連結串列
- 連結串列-雙向連結串列
- 連結串列 - 單向連結串列
- 連結串列4: 迴圈連結串列
- 連結串列-單連結串列實現
- 連結串列-雙向通用連結串列
- 連結串列-雙向非通用連結串列
- 【LeetCode】->連結串列->通向連結串列自由之路LeetCode
- 連結串列入門與插入連結串列
- 資料結構-單連結串列、雙連結串列資料結構
- 連結串列
- LeetCode-Python-86. 分隔連結串列(連結串列)LeetCodePython
- 單連結串列建立連結串列出現問題
- **203.移除連結串列元素****707.設計連結串列****206.反轉連結串列**
- 連結串列逆序
- 2、連結串列
- 連結串列(python)Python
- 重排連結串列
- (一)連結串列
- 單連結串列
- php連結串列PHP
- 資料結構與演算法——連結串列 Linked List(單連結串列、雙向連結串列、單向環形連結串列-Josephu 問題)資料結構演算法
- 【LeetCode-連結串列】面試題-反轉連結串列LeetCode面試題
- 資料結構之連結串列:206. 反轉連結串列資料結構
- 反轉連結串列、合併連結串列、樹的子結構
- 程式碼隨想錄第3天 | 連結串列 203.移除連結串列元素,707.設計連結串列,206.反轉連結串列
- [連結串列】2.輸入一個連結串列,反轉連結串列後,輸出新連結串列的表頭。[多益,位元組考過]
- 【圖解連結串列類面試題】移除連結串列元素圖解面試題
- 【圖解連結串列類面試題】環形連結串列圖解面試題
- 資料結構實驗之連結串列二:逆序建立連結串列資料結構
- 資料結構實驗之連結串列九:雙向連結串列資料結構
- 資料結構--陣列、單向連結串列、雙向連結串列資料結構陣列
- 旋轉連結串列
- 單雙連結串列
- 構建連結串列
- 反轉連結串列