leetcode203. 删除链表中的节点(Easy)(链表)

题目:       

删除链表中等于给定值 val 的所有节点。

示例:

输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5

思路:

       给这个链表设定一个虚头结点,头结点的val不存放实际意义的值,next指向链表的第一个节点。从链表的第一个节点开始判断是否val值与给定值相等。

代码:

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution(object):
    def removeElements(self, head, val):
        """
        :type head: ListNode
        :type val: int
        :rtype: ListNode
        """
        pre = ListNode(0)
        pre.next = head
        p = pre
        while p.next !=None:
            if p.next.val == val:
                p.next = p.next.next
            else:
                p = p.next
        return pre.next

猜你喜欢

转载自blog.csdn.net/weixin_40449071/article/details/82771374