[LeetCode] 203. 移除链表元素
Posted powercai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode] 203. 移除链表元素相关的知识,希望对你有一定的参考价值。
题目链接:https://leetcode-cn.com/problems/remove-linked-list-elements/
题目描述:
删除链表中等于给定值 val 的所有节点。
示例:
输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5
思路:
迭代
class Solution:
def removeElements(self, head: ListNode, val: int) -> ListNode:
dummy = ListNode(0)
dummy.next = head
prev = dummy
last = prev.next
while last :
if last.val == val:
prev.next = last.next
last = prev.next
else:
prev = prev.next
last = prev.next
return dummy.next
递归
class Solution:
def removeElements(self, head: ListNode, val: int) -> ListNode:
if not head: return
head.next = self.removeElements(head.next, val)
return head.next if head.val == val else head
以上是关于[LeetCode] 203. 移除链表元素的主要内容,如果未能解决你的问题,请参考以下文章