Leetcode练习(Python):链表类:第203题:移除链表元素:删除链表中等于给定值 val 的所有节点。

题目:
移除链表元素:删除链表中等于给定值 val 的所有节点。
思路:
链表的常规题,练过好多次了,双指针,哨兵节点防止头结点被是目标节点。
程序:
# 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:
        if not head:
            return None
        origin = ListNode(0)
        origin.next = head
        index1 = origin
        index2 = origin.next
        while index2:
            if index2.val == val:
                index1.next = index2.next
            else:
                index1 = index1.next
            index2 = index2.next
        return origin.next

猜你喜欢

转载自www.cnblogs.com/zhuozige/p/12813495.html