刪除鍊錶中重複的節點:
方法一:採用遞迴的方法,但這種方法在鍊錶無重複節點時效率不高
functiondeleteduplication(phead)
if(phead.val==phead.next.val)
return deleteduplication(node)//
採用遞迴的方法從下乙個不重複的點開始
}else
}
方法二:
新增乙個頭節點,以方便碰到第乙個第二個節點就相同的情況
設定pre,cur指標,pre指標指向當前確定不重複的那個節點,而cur指標一直往後搜尋。
functiondeleteduplication(phead)
const head = new listnode(0); //
重要,方便處理第乙個、第二個節點就是相同的情況。
head.next =phead;
let pre =head;
let cur =head.next;
while (cur !== null
) pre.next =cur.next;
cur =cur.next;
} else
}return
head.next;
}
鍊錶 刪除鍊錶中重複的節點
刪除鍊錶中重複的節點 方法一 採用遞迴的方法,但這種方法在鍊錶無重複節點時效率不高 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...
刪除鍊錶中重複的節點。
本題源自劍指offer 要刪除重複的節點,既要保留重複節點的前乙個節點和後乙個節點,然後讓前乙個節點指向後乙個節點。listnode deleteduplication listnode phead if flag if pre null else p pnext else return phead...