2023-9-17
9-17
链表
题目 有一个单链表的 head,我们想删除它其中的一个节点 node。
给你一个需要删除的节点 node 。你将 无法访问 第一个节点 head。
链表的所有值都是 唯一的,并且保证给定的节点 node 不是链表中的最后一个节点。
思路解析 一般来说实现链表的删除方法是,获取pre节点,然后将pre节点指向next节点即可
但是这里是单向链表,无法获取到pre,所以可以将要删除节点的next复制到node,再将node指向next.next即可
/**
* Definition for singly-linked list.
* class ListNode {
* val: number
* next: ListNode | null
* constructor(val?: number, next?: ListNode | null) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
* }
*/
/**
Do not return anything, modify it in-place instead.
*/
function deleteNode(node: ListNode | null): void {
node.val = node.next.val
node.next = node.next.next
};