LeetCode 训练场:237. 删除链表中的节点
发布日期:2021-06-29 18:13:44 浏览次数:2 分类:技术文章

本文共 525 字,大约阅读时间需要 1 分钟。

1. 题目

2. 描述

请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。

现有一个链表 – head = [4,5,1,9],它可以表示为:

示例 1:

输入: head = [4,5,1,9], node = 5

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

示例 2:

输入: head = [4,5,1,9], node = 1

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

3. 思路

直接删除下一个结点。呈现出的表面结果为删除的当前节点,实际上删除的是下一个结点。

4. 实现

public void deleteNode(ListNode node) {
// 将要删除节点的 val 赋值为下一结点的 val node.val = node.next.val; // 然后将要删除节点的下一结点指向要删除节点的下一结点的下一结点 node.next = node.next.next;}

转载地址:https://cunyu1943.blog.csdn.net/article/details/107126946 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:链表是啥?如何搞定它?
下一篇:程序员面试金典:面试题 02.03. 删除中间节点

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月25日 21时14分29秒