Leetcode_86_分割連結串列_連結串列
1/3
個人認為是一道非常好的題
能很好的熟悉c與java之間指標的操作
思路:先構建一個頭指標,next指向head,
然後找到一個節點的next大於等於x,
也就是說我們要把這個節點後所有小於x的點
依次插入到這個節點前面。
我們用fir和sec兩個指標來實現這個操作。
fir指向的是插入的位置,它始終指向第一個大於等於x的前一位
我們可以通過每次插入後,後移fir這個節點來維護這個位置。
sec是我們目前要處理的節點的前一位,
之所以是前一位是因為我們要刪除一個節點,
必須將它前一位的next變成這一位的next,
所以我們得保留它前一位的指標。
接下來的增加和刪除操作我就不加贅述了。
class Solution {
public ListNode partition(ListNode head, int x) {
ListNode fir= new ListNode();
ListNode sec=null;
fir.next = head;
head = fir;
while (fir != null && fir.next != null) {
if (fir.next.val >= x) {
sec = fir.next;
break;
}
fir = fir.next;
}
while (sec != null && sec.next != null) {
if (sec.next.val < x) {
ListNode temp= sec.next;
sec.next = sec.next.next;
temp.next = fir.next;
fir.next = temp;
fir = fir.next;
continue;
}
sec = sec.next;
}
return head.next;
}
}
相關文章
- 分割連結串列
- 連結串列 - 單向連結串列
- 連結串列-迴圈連結串列
- 連結串列-雙向連結串列
- 連結串列4: 迴圈連結串列
- 連結串列-雙向通用連結串列
- 連結串列-單連結串列實現
- 連結串列-雙向非通用連結串列
- 【LeetCode】->連結串列->通向連結串列自由之路LeetCode
- 連結串列入門與插入連結串列
- 資料結構-單連結串列、雙連結串列資料結構
- 連結串列
- LeetCode-Python-86. 分隔連結串列(連結串列)LeetCodePython
- 單連結串列建立連結串列出現問題
- **203.移除連結串列元素****707.設計連結串列****206.反轉連結串列**
- php連結串列PHP
- 連結串列逆序
- 2、連結串列
- 連結串列(python)Python
- 重排連結串列
- 單連結串列
- (一)連結串列
- 資料結構與演算法——連結串列 Linked List(單連結串列、雙向連結串列、單向環形連結串列-Josephu 問題)資料結構演算法
- 【LeetCode-連結串列】面試題-反轉連結串列LeetCode面試題
- 資料結構之連結串列:206. 反轉連結串列資料結構
- 反轉連結串列、合併連結串列、樹的子結構
- LeetCode 第 86 號問題:分割連結串列LeetCode
- [連結串列】2.輸入一個連結串列,反轉連結串列後,輸出新連結串列的表頭。[多益,位元組考過]
- 程式碼隨想錄第3天 | 連結串列 203.移除連結串列元素,707.設計連結串列,206.反轉連結串列
- 【圖解連結串列類面試題】移除連結串列元素圖解面試題
- 【圖解連結串列類面試題】環形連結串列圖解面試題
- 資料結構實驗之連結串列二:逆序建立連結串列資料結構
- 資料結構--陣列、單向連結串列、雙向連結串列資料結構陣列
- 資料結構實驗之連結串列九:雙向連結串列資料結構
- Linux核心連結串列Linux
- 構建連結串列
- 反轉連結串列
- 雙向連結串列