JZ56 刪除鍊錶中重複的結點

2021-10-24 10:55:33 字數 659 閱讀 7645

題目描述:

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

題解:

(1)需要乙個前置結點,用作刪除結點後連線之後的結點。

(2)遍歷結點,如果當前節點重複就一直往下走,直至走到不重複的結點,讓前置結點直接指向這個結點,重複結點即刪除。

public listnode deleteduplication

(listnode phead)

// 構建新的煉表頭

listnode newhead = null;

newhead.next = phead;

// 將新的煉表頭當作前置結點

listnode pre = phead;

listnode cur = phead.next;

while

(cur != null)

// 直接改變引用,刪除重複節點

cur = cur.next;

pre.next = cur;

}else

}return newhead.next;

}

JZ56 刪除鍊錶中重複的結點

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 建立兩個鍊錶list1list2。list1指向不確定重不重複的結點。list2指向一直去和下乙個結點判斷的鍊錶 首先,需要對原鍊錶phead進...

( )56 刪除鍊錶中重複的結點

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5。leetcode對應題目 83.刪除排序鍊錶中的重複元素 重複的節點保留乙個 題目解答 82.刪除排序鍊錶中的重複元素 ii 題目解答 總結 要...

56 刪除鍊錶中重複的結點

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 方法一 遞迴 public class listnode public class solution if phead.val phead.ne...