Python 刪除鍊錶中重複的節點

2021-08-02 17:46:41 字數 910 閱讀 7181

題目描述:

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

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

class listnode:

def __init__(self, x):

self.val = x

self.next = none

class solution:

def deleteduplication(self, phead):

# write code here

if phead is none or phead.next is none:

return phead

bhead = listnode(phead.val - 1)

bhead.next = phead

first_node = bhead

second_node = phead

while second_node and second_node.next:

if second_node.val == second_node.next.val:

del_val = second_node.val

while second_node and (second_node.val == del_val):

second_node = second_node.next

first_node.next = second_node

else:

first_node = first_node.next

second_node = second_node.next

return bhead.next

python 刪除鍊錶中重複的結點

在乙個排序的鍊錶中,存在重複的結點,刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標,例如,鍊錶 1 2 3 3 4 4 5,處理為 1 2 3 4 5 思路 鍊錶是遞增的,直接對鍊錶用指標取值 判斷,復合不重複條件的保留,不符合條件的去除 情況1 head.vale head.next.v...

鍊錶 刪除鍊錶中重複的節點

刪除鍊錶中重複的節點 方法一 採用遞迴的方法,但這種方法在鍊錶無重複節點時效率不高 function deleteduplication phead if phead.val phead.next.val return deleteduplication node 採用遞迴的方法從下乙個不重複的點開...

鍊錶 刪除鍊錶中重複的節點

刪除鍊錶中重複的節點 方法一 採用遞迴的方法,但這種方法在鍊錶無重複節點時效率不高 function deleteduplication phead if phead.val phead.next.val return deleteduplication node 採用遞迴的方法從下乙個不重複的點開...