原题地址:https://leetcode-cn.com/problems/delete-node-in-a-linked-list/
思路:
传入即为一个节点
将下一个节点的值赋值过来
指针指到下下个节点
(注意题目提示:
链表至少包含两个节点。
链表中所有节点的值都是唯一的。
给定的节点为非末尾节点并且一定是链表中的一个有效节点。
不要从你的函数中返回任何结果。
)
效率
执行用时 :48 ms, 在所有 python3 提交中击败了84.88% 的用户
内存消耗 :13.9 MB, 在所有 python3 提交中击败了5.05%的用户
时间和空间复杂度都是:O(1)。
代码
class Solution:
def deleteNode(self, node):
"""
:type node: ListNode
:rtype: void Do not return anything, modify node in-place instead.
"""
node.val = node.next.val
node.next = node.next.next
引申
链接组成
1,head 无值 指向第一个节点
2,node 包括数值和指向下一个node的指针
3,tail 最后一个值&指针指向None
理解单向链表的定义和使用
待学习,双向链接,循环链表,数组链表