0
点赞
收藏
分享

微信扫一扫

页面上下左右滑动事件

诗尚凝寒 2023-09-21 阅读 45
题目

有一个单链表的 head,我们想删除它其中的一个节点 node。
给你一个需要删除的节点 node 。你将 无法访问 第一个节点 head。

示例

输入:head = [4,5,1,9], node = 5
输出:[4,1,9]
解释:指定链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9

解析

在给定节点 node的情况下,可以通过修改 node的 next 指针的指向,删除node 的下一个节点。但是题目要求删除node,为了达到删除node 的效果,只要在删除节点之前,将node 的节点值修改为node.next 的节点值即可。

/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func deleteNode(node *ListNode) {
    node.Val = node.Next.Val
    node.Next = node.Next.Next
}

这样就相当于把node删了,很有意思的思路

举报

相关推荐

0 条评论