题目大意:
有一个链表如:1->2->3->4->5,要删除3这个节点,求删除后的链表
思路:题目没有给出链表的头结点,也就获取不了待删除点的前驱结点,因此采用复制后一个元素的值并替代前一个元素值的方式,实现元素的删除
Python代码:
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class 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