237. Delete Node in a Linked List

来源:互联网 发布:大数据时代到来 编辑:程序博客网 时间:2024/06/08 14:01

这里写图片描述
题目大意:
有一个链表如:1->2->3->4->5,要删除3这个节点,求删除后的链表

思路:题目没有给出链表的头结点,也就获取不了待删除点的前驱结点,因此采用复制后一个元素的值并替代前一个元素值的方式,实现元素的删除
这里写图片描述
Python代码:

# Definition for singly-linked list.# class ListNode(object):#     def __init__(self, x):#         self.val = x#         self.next = Noneclass Solution(object):    def deleteNode(self, node):        """        :type node: ListNode        :rtype: void Do not return anything, modify node in-place instead.        """        p = node        q = ListNode(-1)        q.next = p #q是p的前驱        while p.next != None:            p.val = p.next.val            p = p.next            q = q.next        q.next = None 
0 0