首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >面试题18. 删除链表的节点

面试题18. 删除链表的节点

原创
作者头像
Michel_Rolle
修改于 2021-03-02 02:02:14
修改于 2021-03-02 02:02:14
3.3K0
举报
文章被收录于专栏:LeetCode解题LeetCode解题

面试题18. 删除链表的节点

链接

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

返回删除后的链表的头节点。

示例1

代码语言:txt
AI代码解释
复制
输入: head = [4,5,1,9], val = 5
输出: [4,1,9]
解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.

示例2

代码语言:txt
AI代码解释
复制
输入: head = [4,5,1,9], val = 1
输出: [4,5,9]
解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的函数之后,该链表应变为 4 -> 5 -> 9.
代码语言:txt
AI代码解释
复制
type ListNode struct {
	Val  int
	Next *ListNode
}

func deleteNode(head *ListNode, val int) *ListNode {
    //情况1
    if head.Val==val{
        return head.Next
    }
    //情况2
    pre:=head   
    for head.Next.Val!=val{
        head=head.Next
    }
    head.Next=head.Next.Next
    return pre
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
c语言之 malloc函数详解「建议收藏」
一、原型:extern void *malloc(unsigned int num_bytes);
全栈程序员站长
2022/09/07
1.5K0
抽丝剥茧C语言(高阶)动态内存管理+练习
但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能知道,那数组的编译时开辟空间的方式就不能满足了。 这时候就只能试试动态存开辟了。
有礼貌的灰绅士
2023/03/28
4390
抽丝剥茧C语言(高阶)动态内存管理+练习
【C语言】《C语言基础指南!》- 史上最全!
C语言由丹尼斯·里奇(Dennis Ritchie)在1972年开发,用于操作系统和系统级软件的开发。它是由B语言发展而来,成为Unix操作系统的核心语言。
LuckiBit
2024/12/11
7820
C语言从入门到实战——动态内存管理
在C语言中,动态内存管理是指程序运行时,通过调用特定的函数动态地分配和释放内存空间。动态内存管理允许程序在运行时根据实际需要来分配内存,避免了静态内存分配在编译时就确定固定大小的限制。
鲜于言悠
2024/03/20
4000
C语言从入门到实战——动态内存管理
C语言详解(动态内存管理)2
总的来说,动态内存管理为我们提供了更加灵活、高效和可扩展的内存管理方式,但动态内存管理函数可能会带来一些风险,主要包括内存泄漏、内存溢出和野指针等问题,我们在使用动态内存管理函数时要多留心,避免风险的出现
_小羊_
2024/10/16
1750
C语言详解(动态内存管理)2
C语言实例_实现malloc与free函数完成内存管理
malloc函数用于在堆(heap)中分配指定大小的内存空间,并返回一个指向该内存块的指针。
DS小龙哥
2023/08/24
6770
C语言实例_实现malloc与free函数完成内存管理
C语言之malloc函数「建议收藏」
malloc的全称是memory allocation,中文叫动态内存分配,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存。
全栈程序员站长
2022/09/01
9350
C语言万字基础笔记总结(三)
- 例:编写一个函数sum,由用户输入**参数n**,计算1+2+...+(n-1)+n的**结果并返回**。
远方的星
2021/08/02
1K0
C语言万字基础笔记总结(三)
C语言基础总结
我学习的第一门编程语言是Java,所以之前一直没有系统学习过C语言。这篇文章主要就是我学习过程的一个总结,方便以后复习查看。
害恶细君
2024/09/16
3220
C语言基础总结
C语言实例_stdlib.h库函数功能及其用法详解
C语言作为一种高效、灵活的编程语言,标准库的使用对于开发人员来说是不可或缺的。其中,stdlib.h是C语言中一个重要的标准库头文件,提供了许多常用的函数和工具,以便开发人员能够更加便捷地进行内存管理、字符串处理、随机数生成等操作。本文将对stdlib.h中的各个函数进行全面介绍,包括它们的功能和使用方法,以帮助开发者更好地理解和利用该标准库。
DS小龙哥
2023/12/29
2.2K0
C语言实例_stdlib.h库函数功能及其用法详解
malloc函数及用法
动态存储分配 在数组一章中,曾介绍过数组的长度是预先定义好的,在整个程序中固定不变。C语言中不允许动态数组类型。 例如: int n; scanf("%d",&n); int a[n]; 用变量表示长度,想对数组的大小作动态说明,这是错误的。但是在实际的编程中,往往会发生这种情况,即所需的内存空间取决于实际输入的数据,而无法预先确定。对于这种问题,用数组的办法很难解决。为了解决上述问题,C语言提供了一些内存管理函数,这些内存管理函数可以按需要动态地分配内存空间,也可把不再使用的空间回收待用,为有效地利用内存
marsggbo
2018/01/23
1.5K0
c语言指针的有关总结
像我们可以写程序来操纵计算机内存这样子。 或者我们可以这样认为,物理内存是可以看得见,摸得着的,而虚拟内存反之。有关对虚拟内存的更深的认识点击这里虚拟内存
兰舟千帆
2022/07/17
4130
c语言指针的有关总结
【C语言】自学终极笔记
函数包括:函数首部(第一行)+函数体(‘{’+内容+‘}‘),函数体=函数声明(即函数原型)+执行部分。
SarPro
2024/02/20
2400
【C语言】自学终极笔记
C语言进阶(十二) - 动态内存管理
void* malloc(size_t size); 头文件<stdlib.h>
怠惰的未禾
2023/04/27
6310
C语言进阶(十二) - 动态内存管理
c语言进阶篇_动态内存管理(数组可以自动扩容?)
如果我们需要创建一个变量,可以直接通过类型名+变量名创建即可.此时会自动向内存申请该类型所需要的的字节空间,例如:int a=0;
初阶牛
2023/04/24
1.3K0
c语言进阶篇_动态内存管理(数组可以自动扩容?)
C语言——动态内存管理与内存操作函数
主要是系统用于自动分配给全局变量、static修饰的变量内存的。它们在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。
星辰与你
2024/10/17
1820
C语言——动态内存管理与内存操作函数
【C语言】动态内存管理大总结
有了动态内存的开辟,那我们自然就要有回收和释放,C语言提供了另外一个函数free,专门是用来做动态内存的释放和回收的,函数原型如下 :
平凡的人1
2022/11/15
4590
【C语言】动态内存管理大总结
C语言 | C++动态分配与静态分配的区别
所谓动态内存分配就是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。动态内存分配不象数组等静态内存分配方法那样需要预先分配存储空间,而是由系统根据程序的需要即时分配,且分配的大小就是程序要求的大小。
小林C语言
2020/12/27
3.4K0
C语言 | C++动态分配与静态分配的区别
[C语言]动态内存管理与柔性数组
1. 栈区( stack ):在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结
IT编程爱好者
2023/04/12
3880
[C语言]动态内存管理与柔性数组
malloc函数具体解释
一、原型:extern void *malloc(unsigned int num_bytes);
全栈程序员站长
2022/07/13
6410
推荐阅读
相关推荐
c语言之 malloc函数详解「建议收藏」
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档