題目描述:
在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。 例如,鍊錶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...