python移除链表元素
生活随笔
收集整理的這篇文章主要介紹了
python移除链表元素
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| 移除鏈表元素
給你一個鏈表的頭節點 head 和一個整數 val ,請你刪除鏈表中所有滿足 Node.val == val 的節點,并返回 新的頭節點 。
輸入:head = [1,2,6,3,4,5,6], val = 6
輸出:[1,2,3,4,5]
示例 2:
輸入:head = [], val = 1
輸出:[]
示例 3:
輸入:head = [7,7,7,7], val = 7
輸出:[]
| 題解
# Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution:def removeElements(self, head: ListNode, val: int) -> ListNode:# 解決鏈表常見的三種情況# 1.頭節點是否需要特殊處理# 2.尾節點是否需要特殊處理# 3.空鏈表是否需要特殊處理# 常見的處理方式 引入虛擬頭節點# 引入虛擬頭節點new_head = ListNodenew_head.next = headprev = new_headwhile prev.next is not None:# 如果要刪除某個節點,首先要找到被刪除節點的前驅節點if prev.next.val == val:prev.next = prev.next.nextelse:prev = prev.nextreturn new_head.next總結
以上是生活随笔為你收集整理的python移除链表元素的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 链表两数相加
- 下一篇: python 链表的中间节点