python实现剑指offer删除链表中重复的节点
生活随笔
收集整理的這篇文章主要介紹了
python实现剑指offer删除链表中重复的节点
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
在一個排序的鏈表中,存在重復的結點,請刪除該鏈表中重復的結點,重復的結點不保留,返回鏈表頭指針。 例如,鏈表1->2->3->3->4->4->5 處理后為 1->2->5
解題思路
# -*- coding:utf-8 -*- class ListNode:def __init__(self, x):self.val = xself.next = None class Solution:def deleteDuplication(self, pHead):# 第一步先檢測一下是不是空的或者是不是只有一個if pHead is None or pHead.next is None:return pHead# 第二步因為防止第一個就是重復的節點,所以創作一個新的頭節點。first = ListNode(-1)# 因為需要兩個指針,一個指著重復結點上一個結點,一個指著重復結點后一個值。first.next = pHeadlast = firstwhile pHead and pHead.next:if pHead.val == pHead.next.val:val = pHead.valwhile pHead and val == pHead.val:pHead = pHead.nextlast.next = pHeadelse:last = pHeadpHead = pHead.nextreturn first.next?
轉載于:https://www.cnblogs.com/tianqizhi/p/9646868.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的python实现剑指offer删除链表中重复的节点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: day3 and homework
- 下一篇: USACO1.3.4 Prime Cry