劍指offer 刪除鍊錶中重複的節點

2021-10-01 03:28:56 字數 606 閱讀 6322

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

設定三個指標節點,pre_p, p, q。分別指向當前節點的前驅節點,當前節點,當前節點的下乙個節點。

每次判斷當前節點p不為空,且下乙個節點也不為空,則判斷當前節點與下乙個節點是否重複。

當判斷出重複時,pre_p節點不動,刪除當前節點,直到與當前節點重複的節點全部刪完。全部刪除完之後,更前pre_p的next節點。

當沒有重複時,則所有指標依次向後移。

/**

* @author: makexin

* @date: 2019/11/2912:25

*/public

class

solution

pre_p.next = p;

//更新

}else

}return head.next;

}public

static

void

main

(string[

] args)

}

劍指offer 鍊錶 刪除鍊錶中的重複節點

題目在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 思路分析 思路一 使用linkedlist儲存不重複節點,重構鍊錶 分析評價 這個方法是乙個比較直接且容易想到的方法,使用時只要注意一些情況...

劍指offer 刪除鍊錶中重複的結點(鍊錶)

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 class solution listnode ans newlistnode 1 ans next phead listnode link a...

劍指Offer 鍊錶 刪除鍊錶中重複的結點

題目 在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5。注意該鍊錶為排序鍊錶,重複的節點不保留哦!public class listnode 1 遞迴 遞迴的方法就像是先判斷第乙個節點和之後的節...