首页 > 试题广场 >

删除链表的节点

[编程题]删除链表的节点
  • 热度指数:64880 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。

1.此题对比原题有改动
2.题目保证链表中节点的值互不相同
3.该题只会输出返回的链表和结果做对比,所以若使用 C 或 C++ 语言,你不需要 free 或 delete 被删除的节点

数据范围:
0<=链表节点值<=10000
0<=链表长度<=10000
示例1

输入

{2,5,1,9},5

输出

{2,1,9}

说明

给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 2 -> 1 -> 9   
示例2

输入

{2,5,1,9},1

输出

{2,5,9}

说明

给定你链表中值为 1 的第三个节点,那么在调用了你的函数之后,该链表应变为 2 -> 5 -> 9   

说明:本题目包含复杂数据结构ListNode,点此查看相关信息
头像 牛客题解官
发表于 2022-04-25 17:42:50
精华题解 题目的主要信息: 给定单链表的一个头,删除该链表指定节点 该链表所有元素不同 举一反三: 学习完本题的思路你可以解决如下题目: JZ76. 删除链表中重复的结点 JZ6. 从尾到头打印链表 方法:迭代遍历(推荐使用) 思路: 既然是整个链表元素都不相同,我们要删除给定的一个元素,那我们首先肯定要 展开全文
头像 淡然201807122101100
发表于 2022-01-05 14:35:55
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head ListNode类 * @param val int整型 * @return ListNode类 */ public ListNo 展开全文
头像 ljn1122
发表于 2022-03-22 10:01:35
删除链表的节点 描述 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。 数据范围: 0<=链表节点值<=10000 0<=链表长度<=10000 示例1 输入:{2,5,1,9},5 返回值:{2,1,9} 说明:给定你链表中 展开全文
头像 北i
发表于 2021-11-03 20:19:12
import java.util.*; /* * public class ListNode { * int val; * ListNode next = null; * public ListNode(int val) { * this.val = val; * 展开全文
头像 牛客344664995号
发表于 2022-08-18 13:34:37
/**  * struct ListNode {  * int val;  * struct ListNode *next;  * };  *  * C语言声明 展开全文
头像 free星空的未来
发表于 2021-12-08 13:08:06
Python实现: 这个题目十分简单,主要是要用到穿针引线以及特殊考虑以下情况: 1.链表的下一个node是否为空,为空的话则不能和val进行比较 2.链表的第一个node,也就是head所在的position是否是需要进行删除的节点 3.需要删除的链表node是不是 展开全文
头像 cengshibang
发表于 2021-12-02 00:19:24
class Solution { public: ListNode* deleteNode(ListNode* head, int val) { ListNode* tmp = head; ListNode* last = head; if(h 展开全文
头像 hl杨小杨
发表于 2022-04-09 16:31:36
/**  * struct ListNode {  *    int val;  *    struct ListNode *next;  * };  *  * 展开全文
头像 野蛮的废话选手躺平又起来了
发表于 2022-06-22 15:53:29
注意链表的前后关系的交替指向,使用next进行实现 题目比较简单,但是是基本的相关操作 # class ListNode: # def __init__(self, x): # self.val = x # self.next = None # # 代码中的类 展开全文
头像 每一个不曾起舞的日子都是痛苦的
发表于 2022-02-14 01:46:45
用递归解题原来这么爽,代码量少。 /** struct ListNode { int val; struct ListNode *next; }; C语言声明定义全局变量请加上static,防止重复定义 / /* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 @p 展开全文
头像 胡荣山
发表于 2022-03-04 10:25:50
构建虚拟头节点dummy,遍历链表即可 # class ListNode: # def __init__(self, x): # self.val = x # self.next = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方 展开全文

问题信息

难度:
122条回答 2373浏览

热门推荐

通过挑战的用户

查看代码