刪除連結串列的節點
請編寫一個函式,使其可以刪除某個連結串列中給定的(非末尾)節點,你將只被給定要求被刪除的節點。
現有一個連結串列 -- head = [4,5,1,9],它可以表示為: 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.
思路:
這道題的處理方法是先把當前節點的值用下一個節點的值覆蓋了,然後我們刪除下一個節點即可。
public void deleteNode(ListNode node) {
node.val = node.next.val;
node.next = node.next.next;
}
相關推薦
劍指offer之刪除連結串列節點
title: 刪除連結串列節點 date: 2018-08-06 08:28:59 tags: 劍指offer 1. 題目 在 O(1) 時間內刪除連結串列節點。 給定單向連結串列節點的頭指標和一個節點指標(使用 java 實現,因此我的程式碼中頭結點作為一個變數定義在類中
劍指offer:刪除連結串列的節點---在O(1)時間內刪除連結串列節點
/** * 題目:(在O(1)時間內刪除連結串列節點) * 給定單鏈表的頭指標和節點指標,定義一個函式在O(1)時間內刪除節點。 * 解題思路: * 把下一個節點的內容複製到要刪除的節點上覆蓋原有的內容,再把下一個節點刪除。 *
面試題18:刪除連結串列節點
18.1 在 O(1) 時間內刪除連結串列節點 <?php header("content-type:text/html;charset=utf-8"); /* * 在 O(1) 時間內刪除連結串列節點。 P119 */ class ListNode{ var $val;
如何刪除連結串列節點
題目是這樣的: 一個單向連結串列,不知道頭節點,一個指標指向其中的一個節點,問如何刪除這個指標指向的節點? 有關連結串列的面試題在技術面試中是很常見的。因為連結串列在資料結構中是很基本的結構,另外,連結串列經常會使沒有紮實掌握的人陷入誤區。 就以這道題為例,沒有一定的基礎,
python_lintcode_372在O(1)時間複雜度刪除連結串列節點_174刪除連結串列中倒數第n個節點
372在O(1)時間複雜度刪除連結串列節點 題目 給定一個單鏈表中的一個等待被刪除的節點(非表頭或表尾)。請在在O(1)時間複雜度刪除該連結串列節點。 樣例 Linked list is
在O(1)時間複雜度刪除連結串列節點(372)
資料結構—線性結構—連結串列:(在O(1)時間複雜度刪除連結串列節點)一、題目:給定一個單鏈表中的一個等待被刪除的節點(非表頭或表尾)。請在在O(1)時間複雜度刪除該連結串列節點。樣例:Linked l
在O(1)時間複雜度刪除連結串列節點
class Solution { public: /** * @param node: a node in the list should be deleted * @re
[lintcode]-連結串列 在O(1)時間複雜度刪除連結串列節點
描述 給定一個單鏈表中的一個等待被刪除的節點(非表頭或表尾)。請在在O(1)時間複雜度刪除該連結串列節點。 樣例 Linked list is 1->2->3->4, and given node 3, delete the node i
【面試題】在O(1)時間複雜度刪除連結串列節點
題目描述 給定一個單鏈表中的表頭和一個等待被刪除的節點(非表頭或表尾)。請在在O(1)時間複雜度刪除該連結串列節點。並在刪除該節點後,返回表頭。 樣例 給定 1->2->3->4,和節點 3,返回 1->2->4。 解題
lintcode 372 在o(1)時間複雜度刪除連結串列節點
3./** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this->val =
Lincode在O(1)時間複雜度刪除連結串列節點
在O(1)時間複雜度刪除連結串列節點 描述 筆記 資料 評測 給定一個單鏈表中的一個等待被刪除的節點(非表頭或表尾)。請在在O(1)時間複雜度刪除該連結串列節點。 您在真實的
Lintcode 在O(1)時間複雜度刪除連結串列節點
1.描述 給定一個單鏈表中的一個等待被刪除的節點(非表頭或表尾)。請在在O(1)時間複雜度刪除該連結串列節點。 樣例 給定 1->2->3->4,和節點 3,刪除 3 之後,連結串列應該變為 1->2->4。 2.分析 按照一般的思路,
LintCode372: 在O(1)時間複雜度刪除連結串列節點
/** * Definition for ListNode. * public class ListNode { * int val; * ListNode next; * ListNode(int val) { * th
[LintCode]372.在O(1)時間複雜度刪除連結串列節點
給定一個單鏈表中的一個等待被刪除的節點(非表頭或表尾)。請在在O(1)時間複雜度刪除該連結串列節點。 樣例 Linked list is 1->2->3->4, and gi
O(1)刪除連結串列節點
題目 給定單向連結串列的頭指標和某節點指標,定義一個函式在O(1)時間刪除該節點 思路 複製,將待刪除結點的下一個節點資料複製給帶刪除節點,然後刪除待刪除節點的下一個節點,需要考慮待刪除節點為尾節點,或連結串列僅有一個節點 程式碼 void delet
在O(1)時間內刪除連結串列節點
#include<iostream> using namespace std; struct ListNode { int data; ListNode* pNext; }; //構造連結串列 ListNode* InsertNode(ListNode* &pHead,int da
連結串列---在O(1)時間複雜度刪除連結串列節點
思路:把後繼結點的值複製到該節點,然後讓該節點的next指向其後繼結點的next即可 public void deleteNode(ListNode node) { // write your code here node.val = n
作業3.372:在O(1)時間複雜度刪除連結串列節點
題目:在O(1)時間複雜度刪除連結串列節點 樣例:給定1->2->3->4,和節點3,刪除3之後,連結串列應該變為1->2->4。 思路:將要刪除的節點的下一個節點的屬性複製到要刪除的節點上,會出現兩個屬性完全相同的節點,然後把下一個節點刪
【LeetCode】 237. 刪除連結串列中的節點
1.題目 請編寫一個函式,使其可以刪除某個連結串列中給定的(非末尾)節點,你將只被給定要求被刪除的節點。 現有一個連結串列 – head = [4,5,1,9],它可以表示為: 4 -> 5 -> 1 -> 9 示例 1: 輸
【LeetCode 簡單題】65-刪除連結串列中的節點
宣告: 今天是第65道題。編寫函式,使其可以刪除某個單鏈表中給定的(非末尾)節點,只能訪問給定要刪除的節點。以下所有程式碼經過樓主驗證都能在LeetCode上執行成功,程式碼也是借鑑別人的,在文末會附上參考的部落格連結,如果侵犯了博主的相關權益,請聯絡我刪除 (手動比心ღ( ´・ᴗ・` ))