#LeetCode237. 刪除連結串列中的節點 #在所有 Java 提交中擊敗了 100.00% 的使用者 @FDDLC
題目描述:
https://leetcode-cn.com/problems/delete-node-in-a-linked-list/
請編寫一個函式,使其可以刪除某個連結串列中給定的(非末尾)節點。傳入函式的唯一引數為 要被刪除的節點 。
現有一個連結串列 -- head = [4,5,1,9],它可以表示為:
示例 1:
輸入:head = [4,5,1,9], node = 5
輸出:[4,1,9]
解釋:給定你連結串列中值為 5 的第二個節點,那麼在呼叫了你的函式之後,該連結串列應變為 4 -> 1 -> 9.
示例 2:
輸入:head = [4,5,1,9], node = 1
輸出:[4,5,9]
解釋:給定你連結串列中值為 1 的第三個節點,那麼在呼叫了你的函式之後,該連結串列應變為 4 -> 5 -> 9.
提示:
連結串列至少包含兩個節點。
連結串列中所有節點的值都是唯一的。
給定的節點為非末尾節點並且一定是連結串列中的一個有效節點。
不要從你的函式中返回任何結果。
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/delete-node-in-a-linked-list
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
虛榮證照:
Java程式碼:
注意:題目描述容易讓人產生理解偏差!我舉例解釋一下題目意思:
ListNode node1.val=1, node2.val=2, node3.val=3。假如要"刪除"node2,其實並不是把node2這個結點刪除,而是在所有的val中,刪除node2的val,即2(當然,最終也會刪除一個結點,但並不是node2,這裡是node3)。刪除後:
node1.val=1, node2.val=3, node2.next=null
class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}
class Solution {
public void deleteNode(ListNode node) {
ListNode pre=node,current=node.next,pre_copy=pre;
while (current!=null){
pre.val=current.val;
pre_copy=pre;
pre=current;
current=current.next;
}
pre_copy.next=null;
}
public static void main(String[] args) {
ListNode node1=new ListNode(1),node2=new ListNode(2),node3=new ListNode(3);
node1.next=node2;
node2.next=node3;
new Solution().deleteNode(node2);
}
}
相關文章
- leetcode----刪除連結串列中的節點LeetCode
- JZ76 刪除連結串列中重複的節點
- 刪除陣列中的元素(連結串列)陣列
- LeetCode每日一題:刪除連結串列中的節點(No.237)LeetCode每日一題
- 0928面試小節:刪除有序連結串列中的重複元素面試
- 連結串列面試題(四)---查詢連結串列的中間節點面試題
- **24. 兩兩交換連結串列中的節點****19.刪除連結串列的倒數第N個節點****面試題 02.07. 連結串列相交****142.環形連結串列II**面試題
- [CareerCup] 2.3 Delete Node in a Linked List 刪除連結串列的節點delete
- Day4(連結串列)|24. 兩兩交換連結串列中的節點 & 19.刪除連結串列的倒數第N個節點 & 面試題 02.07. 連結串列相交 &142.環形連結串列II面試題
- Java連結串列指標確實好煩 - 交換連結串列中連續的兩個節點的位置Java指標
- Day 4 | 24. 兩兩交換連結串列中的節點 、 19.刪除連結串列的倒數第N個節點 、面試題 02.07. 連結串列相交 、142.環形連結串列II面試題
- 從未排序的連結串列中刪除重複項排序
- 第四天:● 24. 兩兩交換連結串列中的節點 ● 19.刪除連結串列的倒數第N個節點 ● 面試題 02.07. 連結串列相交 ● 142.環形連結串列II面試題
- javascript中在連結串列中向前(向後)移動n個節點JavaScript
- Java兩種方式實現連結串列的刪除,返回頭結點Java
- 演算法刪除單連結串列中重複的元素演算法
- #反轉連結串列_C++版 #反轉連結串列_Java版 @FDDLCC++Java
- 資料結構實驗之連結串列七:單連結串列中重複元素的刪除資料結構
- 程式碼隨想錄演算法訓練營第四天 | 連結串列 24.兩兩交換連結串列中的節點 19.刪除連結串列的倒數第N個節點 142.環形連結串列II演算法
- 程式碼隨想錄第4天 | 24. 兩兩交換連結串列中的節點、19.刪除連結串列的倒數第N個節點、面試題 02.07. 連結串列相交、142.環形連結串列II面試題
- Leetcode No.19 刪除連結串列的倒數第N個節點LeetCode
- LeetCode- 19 刪除連結串列的倒數第N個節點LeetCode
- Java 操作PDF中的超連結——新增、更新、刪除超連結Java
- leetcode 24 兩兩交換連結串列中的節點LeetCode
- 83. 刪除排序連結串列中的重複元素(JavaScript版)排序JavaScript
- 力扣-83. 刪除排序連結串列中的重複元素力扣排序
- 876. 連結串列的中間結點
- 連結串列面試題(一)---刪除一個無頭單連結串列的非尾結點面試題
- 雙向連結串列————查詢、刪除、插入結點
- [連結串列]leetcode1019-連結串列中的下一個更大節點LeetCode
- 19. 刪除連結串列的倒數第 N 個結點
- LeetCode 24. 兩兩交換連結串列中的節點LeetCode
- leetcode 24.兩兩交換連結串列中的節點LeetCode
- LintCode 刪除排序連結串列中的重複數字 II排序
- 連結串列面試題(六)---刪除單連結串列倒數第k個結點面試題
- 劍指offer:刪去連結串列中重複的節點。(題解原始碼加圖解)原始碼圖解
- 利用快慢指標快速得到連結串列中間節點指標
- 程式碼隨想錄演算法訓練營day04|24.兩兩交換連結串列中的節點,19.刪除連結串列的倒數第N個節點,面試題 02.07.連結串列相交,142.環形連結串列II演算法面試題