LeetCode 86. 分隔連結串列
題目內容
- 分隔連結串列
給你一個連結串列和一個特定值 x ,請你對連結串列進行分隔,使得所有小於 x 的節點都出現在大於或等於 x 的節點之前。
你應當保留兩個分割槽中每個節點的初始相對位置。
示例:
輸入:head = 1->4->3->2->5->2, x = 3
輸出:1->2->2->4->3->5
解題思路
copy別人的打趣段子:天晴了雨停了我又覺得我行了。
使用兩個連結串列一個記錄小於x元素,一個記錄大於x的元素,將第二個連結串列加在第一個的尾部得到結果。有這樣一個簡單的思路解題不難。
關鍵在於細節的空指標與越界異常處理。
解題程式碼
class Solution {
public:
ListNode* partition(ListNode* head, int x) {
ListNode* n1=nullptr,*n2=nullptr;
ListNode *res=nullptr;ListNode *t=nullptr;
while(head!=NULL)
{
if(head->val<x)
{
if(n1){n1->next=new ListNode;n1=n1->next;n1->val=head->val;n1->next=nullptr;}
else {res=n1=new ListNode;res->val=head->val;res->next=nullptr;}
}
else
{
if(n2){n2->next=new ListNode;n2=n2->next;n2->val=head->val;n2->next=nullptr;}
else {t=n2=new ListNode;t->val=head->val;t->next=nullptr;}
}
head=head->next;
}
if(!res)return t;
n1->next=t;return res;
}
};
相關文章
- 力扣 leetcode 86. 分隔連結串列力扣LeetCode
- 86. 分隔連結串列(Java)Java
- LeetCode 86 ——分隔連結串列LeetCode
- 【1月打卡~Leetcode每日一題】86. 分隔連結串列(難度:中等)LeetCode每日一題
- LeetCode-Python-86. 分隔連結串列(連結串列)LeetCodePython
- Leetcode_86_分割連結串列_連結串列LeetCode
- 【LeetCode】->連結串列->通向連結串列自由之路LeetCode
- 【LeetCode-連結串列】面試題-反轉連結串列LeetCode面試題
- LeetCode-連結串列LeetCode
- LeetCode連結串列專題LeetCode
- leetcode 反轉連結串列LeetCode
- [連結串列]leetcode138-複製帶隨即指標的連結串列LeetCode指標
- 【LeetCode連結串列#9】圖解:兩兩交換連結串列節點LeetCode圖解
- leetcode 92 反轉連結串列ⅡLeetCode
- leetcode:21. 合併兩個有序連結串列(連結串列,簡單)LeetCode
- 連結串列-雙向連結串列
- 連結串列-迴圈連結串列
- leetcode題目解析(js)--連結串列LeetCodeJS
- LeetCode入門指南 之 連結串列LeetCode
- 【Leetcode】61.旋轉連結串列LeetCode
- LeetCode-143-重排連結串列LeetCode
- 【LeetCode】 Rotate List 迴圈連結串列LeetCode
- [leetcode 92] 反轉連結串列 IILeetCode
- 連結串列面試題(二)---連結串列逆序(連結串列反轉)面試題
- 【C++ 資料結構:連結串列】二刷LeetCode707設計連結串列C++資料結構LeetCode
- 連結串列4: 迴圈連結串列
- 連結串列-單連結串列實現
- 【Leetcode】86. Partition ListLeetCode
- leetcode 61 旋轉連結串列 c++LeetCodeC++
- 力扣(LeetCode) -143 重排連結串列力扣LeetCode
- LeetCode 234. 迴文連結串列LeetCode
- 每日leetcode——160. 相交連結串列LeetCode
- 【LeetCode】初級演算法:連結串列LeetCode演算法
- 連結串列入門與插入連結串列
- (連結串列)連結串列的排序問題排序
- [連結串列]leetcode1019-連結串列中的下一個更大節點LeetCode
- 連結串列
- LeetCode 第 86 號問題:分割連結串列LeetCode