c语言用指针删除链表free,leetcode剑指 Offer 18(删除链表的节点)--C语言实现
求:
给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。
返回删除后的链表的头节点。
注意:此题对比原题有改动
示例 1:
输入: head = [4,5,1,9], val = 5
输出: [4,1,9]
解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.
示例 2:
输入: head = [4,5,1,9], val = 1
输出: [4,5,9]
解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的函数之后,该链表应变为 4 -> 5 -> 9.
说明:
题目保证链表中节点的值互不相同
若使用 C 或 C++ 语言,你不需要 free 或 delete 被删除的节点
解:
非常普通,直接遍历链表就可以了。因为题目中的元素是唯一的,且题目要求不需要进行free和delete操作,所以直接修改相应节点的指针即可。
/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/
structListNode* deleteNode(structListNode* head, intval){
if(head == NULL) returnNULL;
if(head->val == val) returnhead->next;
structListNode* pre = head;
while((pre->next != NULL) && (pre->next->val != val)) pre = pre->next;
if(pre->next != NULL) pre->next = pre->next->next;
returnhead;
}
c语言用指针删除链表free,leetcode剑指 Offer 18(删除链表的节点)--C语言实现相关推荐
- 【LeetCode】剑指 Offer 18. 删除链表的节点
[LeetCode]剑指 Offer 18. 删除链表的节点 文章目录 [LeetCode]剑指 Offer 18. 删除链表的节点 一.双指针 一.双指针 本题删除值为 val 的结点需分为两步: ...
- 【算法】剑指 Offer 18. 删除链表的节点
1.概述 剑指 Offer 18. 删除链表的节点 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点. 返回删除后的链表的头节点. 注意:此题对比原题有改动 示例 1: 输入: he ...
- 【剑指 Offe】剑指 Offer 18. 删除链表的节点
目录标题 算法汇总 题目 关键点 代码 1.解体方法 思路 代码 时间和空间复杂度 2.解题方法,如暴力法 思路 代码 时间和空间复杂度 算法汇总 以下是所有算法汇总,包括GitHub源码地址链接:力 ...
- 【0ms优化】剑指 Offer 18. 删除链表的节点
立志用最少的代码做最高效的表达 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点. 返回删除后的链表的头节点. 注意:此题对比原题有改动 示例 1: 输入: head = [4,5, ...
- leetcode 剑指 Offer 35. 复杂链表的复制
题意 将一个链表复制一遍后输出,这个链表除了next指针外,还有一个random指针,随机指向链表中的节点(包括自身或者NULL). 解法 生成一个新的链表,然后根据新老链表同时循环遍历,找到当前老链 ...
- 【LeetCode 剑指 Offer 35. 复杂链表的复制(中等)】
题目: 请实现 copyRandomList 函数,复制一个复杂链表.在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null. ...
- Leetcode 剑指 Offer 24. 反转链表 (每日一题 20210823)
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点.示例:输入: 1->2->3->4->5->NULL 输出: 5->4->3-> ...
- 【LeetCode】剑指 Offer 24. 反转链表
剑指 Offer 24. 反转链表 文章目录 剑指 Offer 24. 反转链表 一.迭代 二.递归 总结 一.迭代 在遍历链表时,将当前节点的 next 指针改为指向前一个结点.由于结点没有引用其前 ...
- LeetCode-剑指 Offer 18. 删除链表的节点
剑指 Offer 18. 删除链表的节点 思路:用一个头节点,以及pre,cur双指针 /*** Definition for singly-linked list.* struct ListNode ...
最新文章
- python3 sha 系列 hex 加密 以sha256为例
- wcf系列5天速成——第一天 binding的使用(1)
- #include 和#include“”的区别
- 《穿越计算机的迷雾》读书笔记二
- Mathematica初学者第一讲
- Android 告急!
- Android深度探索读后感第二章
- 14种东西帮你治疗口腔溃疡 - 生活至上,美容至尚!
- 【page-monitor 前端自动化 上篇】初步调研
- jquery Deferred
- c语言sin函数近似值,用泰勒公式求sin(x)的近似值
- 系统集成项目管理工程师教程第二版
- Android笔记 ANR Application Not Response
- 阿里巴巴集团CTO王坚:云计算让理想平等
- IPTV机顶盒刷机过程--山东电信【天邑TY608】
- Fiddler弱网测试
- pscc2019滤镜抽出_Photoshop(ps)cc2019 已经发现你啦!
- mysql交叉编译 cmake_cmake交叉编译参数toolchain
- Android Home键拦截
- Aruba AC如何通过CLI备份及导入导出