#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
- 【連結串列問題】刪除單連結串列的中間節點
- 【連結串列問題】打卡3:刪除單連結串列的中間節點
- JZ76 刪除連結串列中重複的節點
- 牛客(刪除連結串列中重複節點)
- 刪除連結串列中等於給定值 val 的所有節點。
- LeetCode每日一題:刪除連結串列中的節點(No.237)LeetCode每日一題
- 劍指offer-----刪除連結串列中的重複節點
- 2024/11/27 【連結串列】LeetCode 24 兩兩交換連結串列中的節點 & LeetCode 19 刪除連結串列的倒數第N個節點LeetCode
- JZ-056-刪除連結串列中重複的結點
- 【連結串列問題】打卡2:刪除單連結串列的第 K個節點
- 0011 刪除連結串列的倒數第N個節點
- **24. 兩兩交換連結串列中的節點****19.刪除連結串列的倒數第N個節點****面試題 02.07. 連結串列相交****142.環形連結串列II**面試題
- 0928面試小節:刪除有序連結串列中的重複元素面試
- Day4(連結串列)|24. 兩兩交換連結串列中的節點 & 19.刪除連結串列的倒數第N個節點 & 面試題 02.07. 連結串列相交 &142.環形連結串列II面試題
- JZ-069-在 O(1) 時間內刪除連結串列節點
- Day 4 | 24. 兩兩交換連結串列中的節點 、 19.刪除連結串列的倒數第N個節點 、面試題 02.07. 連結串列相交 、142.環形連結串列II面試題
- 13. O(1)時間刪除連結串列節點
- 第四天:● 24. 兩兩交換連結串列中的節點 ● 19.刪除連結串列的倒數第N個節點 ● 面試題 02.07. 連結串列相交 ● 142.環形連結串列II面試題
- LeetCode- 19 刪除連結串列的倒數第N個節點LeetCode
- 題19. 刪除連結串列的倒數第N個節點
- Leetcode No.19 刪除連結串列的倒數第N個節點LeetCode
- [連結串列]leetcode1019-連結串列中的下一個更大節點LeetCode
- Java兩種方式實現連結串列的刪除,返回頭結點Java
- 從未排序的連結串列中刪除重複項排序
- 2020-10-18 刪除連結串列的倒數第N個節點
- 程式碼隨想錄第4天 | 24. 兩兩交換連結串列中的節點、19.刪除連結串列的倒數第N個節點、面試題 02.07. 連結串列相交、142.環形連結串列II面試題
- 資料結構實驗之連結串列七:單連結串列中重複元素的刪除資料結構
- #反轉連結串列_C++版 #反轉連結串列_Java版 @FDDLCC++Java
- leetcode 24 兩兩交換連結串列中的節點LeetCode
- 1019. 連結串列中的下一個更大節點
- Java 操作PDF中的超連結——新增、更新、刪除超連結Java
- 程式碼隨想錄演算法訓練營第四天 | 連結串列 24.兩兩交換連結串列中的節點 19.刪除連結串列的倒數第N個節點 142.環形連結串列II演算法
- 連結串列中環的入口結點
- 力扣-83. 刪除排序連結串列中的重複元素力扣排序
- 83. 刪除排序連結串列中的重複元素(JavaScript版)排序JavaScript
- leetcode-82:刪除排序連結串列中重複的元素-iiLeetCode排序
- 雙向連結串列————查詢、刪除、插入結點