移除链表元素
1.题目说明
题目要求:删除链表中等于给定值 val 的所有节点。
示例:
输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5
2.思路说明.
首先,初始化一个值为-1的dummy结点,指向head结点。
然后,逐个遍历,当遇到当前结点指向的next结点的值与val相等时,当前指针指向下一个结点的next。
最后,链表遍历结束,返回链表。
python代码如下:
## Python 代码
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def removeElements(self, head: ListNode, val: int) -> ListNode:
dummy = ListNode(-1)
dummy.next = head
next = dummy
while next != None and next.next != None:
if next.next.val == val:
next.next = next.next.next
else:
next = next.next
return dummy.next