剑指offer:面试题18. 删除链表的节点
题目:删除链表的节点
给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。
返回删除后的链表的头节点。
注意:此题对比原题有改动
示例 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 被删除的节点
解题:
为了简化删除头节点操作,新建一个虚拟头节点 tmp
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/class Solution {
public:ListNode* deleteNode(ListNode* head, int val) {ListNode *tmp = new ListNode(0), *pre = tmp, *cur = head;pre->next = cur;while (cur) {if (cur->val == val) {tmp->next = cur->next;break;}tmp = cur;cur = cur->next;}return pre->next;}
};
剑指offer:面试题18. 删除链表的节点相关推荐
- 剑指Offer - 面试题18. 删除链表的节点
1. 题目 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点. 返回删除后的链表的头节点. 注意:此题对比原题有改动 示例 1: 输入: head = [4,5,1,9], val ...
- 剑指offer面试题18. 删除链表的节点(双指针)(链表)
题目描述 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点. 返回删除后的链表的头节点. 思路 详见链接 代码 class Solution:def deleteNode(self, ...
- 剑指offer(C++)-JZ18:删除链表的节点(数据结构-链表)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点.返回删除后的链表 ...
- 剑指offer面试题[57]-删除链表中重复的结点
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后 ...
- 剑指offer——面试题56:链表中环的入口
剑指offer--面试题56:链表中环的入口 Solution1: 非常经典的快慢指针套路题.下面这个链接讲解的很详细.其实问题的关键在于为什么快指针的速度一定是慢指针的2倍,3倍或4倍行不行?? 快 ...
- 【重点递归】剑指offer——面试题18:树的子结构
剑指offer--面试题18:树的子结构 Solution1: 此题答案是抄的书上的,要记忆并熟练运用关于二叉树的递归思想!!! /* struct TreeNode {int val;struct ...
- 剑指offer面试题15:链表中倒数第K个节点
题目:输入一个链表,输出该链表的倒数第K个节点.为了符合大多数人的习惯,本题从1开始计数,即链表尾节点是倒数第一个节点. 解题思路: 解法一:一般情况下,单向链表无法从后一个节点获取到它前面的节点,可 ...
- [剑指offer]面试题18:树的子结构
面试题18:树的子结构 题目:输入两棵二叉树A和B,判断B是不是A的子结构.二叉树结点的定义如下: struct BinaryTreeNode {int value;BinaryTreeNode *l ...
- [剑指offer]面试题15:链表中倒数第k个结点
面试题15:链表中倒数第k个结点 题目:输入一个链表,输出该链表中倒数第 k 个结点.为了符合大多数人的习惯,本题从1 开始计数,即链表的尾结点是倒数第1 个结点.例如一个链表有6个结点,从头结点开始 ...
最新文章
- pythonista安卓版下载-pythonista 3ios
- go 实现斐波那契数列
- 2016.2.17文件夹选择框及文件选择框
- C语言 va_start / va_end / va_arg 自定义 printf 函数 - C语言零基础入门教程
- (王道408考研数据结构)第四章串-第二节:串的模式匹配算法(朴素和KMP)
- JavaScript 中的事件对象(读书笔记思维导图)
- C++求复数的角度_单词复数规则:tomato的复数究竟是加s还是es?
- 鼎捷易飞ERP视频教程-金速鹏-专题视频课程
- MYSQL去重方法汇总
- 关于Ubuntu循环登陆界面
- 英文科技论文写作与学术报告Lecture 4习题答案
- 手把手系列之四十七—手把手教你做奶白鲫鱼汤
- Java读按行读文件内容
- 最小生成树之Prim(普里姆)算法
- python怎么取共轭_自用numpy语法的共轭转置
- 魔百盒M401A_晶晨S905L3A_2+16G_安卓9_原厂卡刷固件包及详细教程
- 用JML实现的一个MSN客户端一
- CAELinux 2020
- 苹果Mac键盘打不出字怎么办?
- NotePad++ 添加Jass插件
热门文章
- zabbix 概念理解
- 33. 使用fread()/fwrite()往文件中写入结构体,从文件中读出结构体
- Mysql for Mac 安装及环境配置
- PyTorch 笔记(12)— Tensor 持久化、向量化、torch.set_num_threads、torch.set_printoptions
- MVC 中的 ViewModel
- Ruby: Ruby脚本在测试中的使用
- 【转】SQL函数:字符串中提取数字,英文,中文,过滤重复字符
- 【Socket研究】~。~ Scoket开发蛋疼笔记 Silverlight
- SQL Server 中print Datetime类型问题
- 动态环境下的SLAM:DynaSLAM 论文学习笔记