1#-*- coding:utf-8 -*-2#
class listnode:3#
def __init__(self, x):4#
self.val = x5#
self.next = none
6"""
沒有三個指標解決不了的問題
"""7
class
solution:
8def deleteduplication(self, phead):#
#最好以原鍊錶指標為輸出9#
write code here
10 ppre =none
11 pcur = phead#
給鍊錶加個指標
12 pnext =none
13while pcur !=none:
14if pcur.next != none and pcur.val == pcur.next.val: #
如果不到尾節點,並且當前指標節點與下一節點數值相等時
15 pnext = pcur.next#
更新next指標
16while pnext.next != none and pnext.next.val == pcur.val: #
當next指標沒到尾節點,且next下一節點數值與當前節點值相等時
17 pnext = pnext.next #
一直更新next指標
18if pcur == phead: #
處理第乙個節點就是重複節點的情況
19 phead = pnext.next #
直接將原鍊錶phead指標後移到一段重複的節點之後
20else
:21 ppre.next = pnext.next #
如果頭結點不是重複節點,則移動pre指標
22 pcur = pnext.next #
更新當前指標到一段重複節點之後節點
23else: #
更新前指標pre到現指標cur上
24 ppre =pcur
25 pcur = pcur.next #
更新當前指標cur
26return phead
LintCode 刪除排序鍊錶中的重複數字 II
題目描述 給定乙個排序鍊錶,刪除所有重複的元素只留下原煉表中沒有重複的元素。樣例 給出 1 2 3 3 4 4 5 null,返回 1 2 5 null 給出 1 1 1 2 3 null,返回 2 3 null 思路分析 ac definition of listnode class listno...
刪除排序鍊錶中的重複數字 II
給定乙個排序鍊錶,刪除所有重複的元素只留下原煉表中沒有重複的元素。您在真實的面試中是否遇到過這個題?yes 樣例給出1 2 3 3 4 4 5 null,返回1 2 5 null 給出1 1 1 2 3 null,返回2 3 null 點題 鍊錶結構改變的時候需要dummy node definit...
鍊錶 刪除排序鍊錶中的重複數字 II 中等
描述 給定乙個排序鍊錶,刪除所有重複的元素只留下原煉表中沒有重複的元素。您在真實的面試中是否遇到過這個題?是 樣例給出 1 2 3 3 4 4 5 null,返回 1 2 5 null 給出 1 1 1 2 3 null,返回 2 3 null 題目鏈結 程式 definition of singl...