劍指offer刷題之 鍊錶

2021-10-25 15:45:09 字數 601 閱讀 4255

題目描述:

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

思路:

非遞迴:

1 . 首先新增乙個頭節點,以方便碰到第乙個,第二個節點就相同的情況

2 .設定 p1 ,p2 指標, p1指標指向當前確定不重複的那個節點,而p2指標相當於工作指標,一直往後面搜尋。

**:

class

solution

p1->next=p2-

>next;

//抹掉所有相等的節點(即p2)

p2=p2-

>next;

}else

}return head-

>next;}}

;

總結:

自己做的時候思路大概正確,但是,不會刪除重複節點,即p1->next=p2->next ,又學到一點點。

劍指Offer刷題 鍊錶

劍指 offer 18.刪除鍊錶的節點 難度簡單 給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。注意 此題對比原題有改動 示例 1 輸入 head 4,5,1,9 val 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的...

劍指offer刷題日記 鍊錶

鍊錶03 從尾到頭列印鍊錶 python 採用insert方法 class solution def printlist self,listnode if not listnode return result while listnode result.insert 0 listnode.val l...

《劍指offer》刷題(1)鍊錶

最近二刷 劍指offer 的題目,寫寫其中關於鍊錶的解題思路 劍指offer18題 需要兩個指標,pre儲存刪除節點的前驅指標,cur儲存要刪除節點的指標 public listnode deletenode listnode head,int val if cur null return dumm...