刪除鍊錶重複元素(鍊錶去重)

2021-09-27 02:27:36 字數 691 閱讀 7312

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

鍊錶類的定義:

class

listnode

}

遞迴做法:

public

static listnode deleteduplication

(listnode phead)

listnode pcurr ;

if(phead.val == phead.next.val)

return

deleteduplication

(pcurr)

;//以pcurr作為新的頭結點繼續呼叫。

}else

}

非遞迴做法:

public

static listnode deleteduplication1

(listnode phead)

pre.next = cur;

//若頭結點就是重複值,則pre.next就是新的頭結點。

}else

}return newhead.next;

}

以上僅為個人學習筆記,若有需改正的地方請指正!

較 鍊錶刪除重複元素

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 這道題首先要注意,重複元素乙個不留,且開頭元素可能重複,所以如果我們直接在原煉表上操作會比較麻煩。這裡採用選擇非重複節點構建新鍊錶的方式進行刪除...

鍊錶刪除重複元素1,刪除重複元素2,

刪除排序鍊錶中的重複元素 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 1 輸入 1 1 2 輸出 1 2 示例 2 輸入 1 1 2 3 3 輸出 1 2 3 思路 很簡單。先將兩個指標進行操作,start,end然後判斷end是否等於空即可 definition for s...

鍊錶 刪除排序鍊錶中的重複元素

一 遍歷方法 思路 通過遍歷一遍鍊錶在遍歷的過程中刪除節點,因為鍊錶是有序的,所以只需比較當前節點和當前節點的下乙個節點,這裡需要注意一下,如果有重複的使用了head.next head.next.next刪除下乙個節點了,但是於下乙個新的節點對比還是現在這個節點,所以不要head head.nex...