摘要:題目描述請編寫一個函數,使其可以刪除某個鏈表中給定的非末尾節點,你將只被給定要求被刪除的節點。鏈表中所有節點的值都是唯一的。給定的節點為非末尾節點并且一定是鏈表中的一個有效節點。
題目描述
請編寫一個函數,使其可以刪除某個鏈表中給定的(非末尾)節點,你將只被給定要求被刪除的節點。
現有一個鏈表 -- 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.
說明:
鏈表至少包含兩個節點。 鏈表中所有節點的值都是唯一的。 給定的節點為非末尾節點并且一定是鏈表中的一個有效節點。 不要從你的函數中返回任何結果。代碼實現
這道題開始還是有點不理解,因為在疑惑為什么只給了一個參數,不給鏈表頭怎么刪? 不過,看了說明給的參數節點不會是鏈表的尾節點,那么就可以交換node和node.next的值,然后再刪掉node.next就好了。 /** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } */ /** * @param {ListNode} node * @return {void} Do not return anything, modify node in-place instead. */ var deleteNode = function(node) { if(node === null) return node; let next = node.next; let temp = node.val; node.val = next.val; next.val = temp; node.next = next.next; };
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/97223.html
摘要:題目描述刪除有序鏈表中的重復節點,返回頭節點刪除掉所有重復節點,例如,返回重復的節點中保留一個,例如,返回刪除掉所有重復節點細節這里面有幾個需要注意的細節新建一個空的頭節點,因為這里面牽扯到換新的鏈表頭的問題,所 題目描述 刪除有序鏈表中的重復節點,返回頭節點 刪除掉所有重復節點,例如1->1->2->2->3->4,返回3->4 重復的節點中保留一個,例如1->1->2->2->3...
摘要:題目描述輸入一個復雜鏈表每個節點中有節點值,以及兩個指針,一個指向下一個節點,另一個特殊指針指向任意一個節點,返回結果為復制后復雜鏈表的。 題目描述 輸入一個復雜鏈表(每個節點中有節點值,以及兩個指針,一個指向下一個節點,另一個特殊指針指向任意一個節點),返回結果為復制后復雜鏈表的head。 分析 常規的復制鏈表只需要考慮每個節點的next指針即可,但是該題還有另外一個random指針...
摘要:先實現棧操作遍歷鏈表,把每個節點都進中然后再遍歷鏈表,同時節點依次出棧,二者進行比較。 ?作者簡介:大家好,我是車神哥,府學路18號的車神? ?個人主頁:應無...
閱讀 3420·2021-11-15 11:39
閱讀 1552·2021-09-22 10:02
閱讀 1309·2021-08-27 16:24
閱讀 3596·2019-08-30 15:52
閱讀 3412·2019-08-29 16:20
閱讀 824·2019-08-28 18:12
閱讀 550·2019-08-26 18:27
閱讀 716·2019-08-26 13:32