劍指offer 刪除列表中重複的

2021-09-11 20:32:00 字數 1077 閱讀 7846

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。 例如,鍊錶1->2->3->3->4->4->5 處理後為 1->2->5解題思路: 使用乙個ppro來記錄當前note的前乙個指標 如果ppro後面的可以用 就把ppro.next鏈結上 使用p記錄當前的指標 判斷下和下乙個相等嗎?如果相等 就後移 直到不等 這時候就可以把ppro接過來了 如果和下乙個不等 那就直接接上 為了防止第乙個就是重複的 ppro設定成了null 如果第乙個重讀 就用phead來連線

# -*- coding:utf-8 -*-

# class listnode:

# def __init__(self, x):

# self.val = x

# self.next = none

class

solution

:def

deleteduplication

(self, phead)

:# write code here

ifnot phead:

return phead

ppro =

none

p=phead

while p:

if p.

next

and p.

next

.val==p.val:

while p.

next

and p.val==p.

next

.val:

p=p.

next

if ppro==

none

: phead=p.

next

else

: ppro.

next

=p.next

else

: ppro=p

p=p.

next

return phead

劍指offer 刪除重複節點

package 刪除重複節點 需要兩個指標,乙個指向前乙個節點prenode,另乙個指向當前節點node,如果遇到相等的節點,node向後移動,prenode不動,存下node.val方便後面的比較,直到遇到node和node.next不相等,prenode就可以指向node.next 注意 鍊錶開...

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

華電北風吹 天津大學認知計算與應用重點實驗室 日期 2015 10 8 題目描述 在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 解析 做這道題目給我的感覺是跟鍊錶反轉一樣,需要考慮節點之間指...

《劍指offer》 刪除鍊錶中重複的結點

題目 在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5。思路 因為重複結點不保留且有可能從頭結點開始重複,所以應當新建乙個結點位於頭結點的之前,從新建的結點開始遍歷。因為要將重複的結點全部刪除,...