刪除鍊錶中重複的節點 js

2021-09-24 05:18:36 字數 681 閱讀 2916

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。 例如,鍊錶1->2->3->3->4->4->5 處理後為 1->2->5

1.因為鍊錶是單向的,如果是第乙個、第二個節點就重複的話,刪除就比較麻煩。因此我們可以額外新增頭節點來解決

2.因為重複的節點不一定是重複兩個,可能重複很多個,需要迴圈處理下。

function

listnode

(x)function

deleteduplication

(phead)

const head =

newlistnode(0

);//考慮到如果第乙個和第二個節點就相同了的情況,所以新增乙個頭結點

head.next = phead;

let pre = head;

let cur = head.next;

while

(cur !==

null

) pre.next = cur.next;

//找到了不重複的之後跟pre連起來,就是用pre.next指向那個位置,也就是cur.next

cur = cur.next;

}else

}return head.next;

}

鍊錶 刪除鍊錶中重複的節點

刪除鍊錶中重複的節點 方法一 採用遞迴的方法,但這種方法在鍊錶無重複節點時效率不高 function deleteduplication phead if phead.val phead.next.val return deleteduplication node 採用遞迴的方法從下乙個不重複的點開...

鍊錶 刪除鍊錶中重複的節點

刪除鍊錶中重複的節點 方法一 採用遞迴的方法,但這種方法在鍊錶無重複節點時效率不高 function deleteduplication phead if phead.val phead.next.val return deleteduplication node 採用遞迴的方法從下乙個不重複的點開...

刪除鍊錶中重複的節點

題目描述 在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 這個題目首先考慮到頭結點也可能是重複的節點,所以需要設定乙個頭結點之前的節點。之後需要3個指標 pre,cur和next struct...