劍指offer18 刪除鍊錶節點

2021-09-25 09:14:58 字數 976 閱讀 5628

1.考慮輸入空鍊錶和乙個節點鍊錶

2.如果頭節點不重複,直接遞迴查詢重複

3.雙指標,進行判斷兩個節點是不是相等

# -*- 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

isnone

:return phead

head1 = phead.

next

if head1.val != phead.val:

phead.

next

= self.deleteduplication(phead.

next

)else

:while phead.val == head1.val and head1.

next

isnot

none

: head1 = head1.

next

if head1.val != phead.val:

phead = self.deleteduplication(head1)

else

:return

none

return phead

劍指offer 18 刪除鍊錶的節點

描述 給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。示例 輸入 head 4,5,1,9 val 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的函式之後,該鍊錶應變為 4 1 9.常規思路 定義乙個暫時變數用來刪除節點...

劍指offer 18 刪除鍊錶的節點

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

劍指 Offer 18 刪除鍊錶的節點

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