在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。 例如,鍊錶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。思路 因為重複結點不保留且有可能從頭結點開始重複,所以應當新建乙個結點位於頭結點的之前,從新建的結點開始遍歷。因為要將重複的結點全部刪除,...