题目:删除链表的节点

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

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

注意:此题对比原题有改动

示例 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. 删除链表的节点相关推荐

  1. 剑指Offer - 面试题18. 删除链表的节点

    1. 题目 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点. 返回删除后的链表的头节点. 注意:此题对比原题有改动 示例 1: 输入: head = [4,5,1,9], val ...

  2. 剑指offer面试题18. 删除链表的节点(双指针)(链表)

    题目描述 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点. 返回删除后的链表的头节点. 思路 详见链接 代码 class Solution:def deleteNode(self, ...

  3. 剑指offer(C++)-JZ18:删除链表的节点(数据结构-链表)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点.返回删除后的链表 ...

  4. 剑指offer面试题[57]-删除链表中重复的结点

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后 ...

  5. 剑指offer——面试题56:链表中环的入口

    剑指offer--面试题56:链表中环的入口 Solution1: 非常经典的快慢指针套路题.下面这个链接讲解的很详细.其实问题的关键在于为什么快指针的速度一定是慢指针的2倍,3倍或4倍行不行?? 快 ...

  6. 【重点递归】剑指offer——面试题18:树的子结构

    剑指offer--面试题18:树的子结构 Solution1: 此题答案是抄的书上的,要记忆并熟练运用关于二叉树的递归思想!!! /* struct TreeNode {int val;struct ...

  7. 剑指offer面试题15:链表中倒数第K个节点

    题目:输入一个链表,输出该链表的倒数第K个节点.为了符合大多数人的习惯,本题从1开始计数,即链表尾节点是倒数第一个节点. 解题思路: 解法一:一般情况下,单向链表无法从后一个节点获取到它前面的节点,可 ...

  8. [剑指offer]面试题18:树的子结构

    面试题18:树的子结构 题目:输入两棵二叉树A和B,判断B是不是A的子结构.二叉树结点的定义如下: struct BinaryTreeNode {int value;BinaryTreeNode *l ...

  9. [剑指offer]面试题15:链表中倒数第k个结点

    面试题15:链表中倒数第k个结点 题目:输入一个链表,输出该链表中倒数第 k 个结点.为了符合大多数人的习惯,本题从1 开始计数,即链表的尾结点是倒数第1 个结点.例如一个链表有6个结点,从头结点开始 ...

最新文章

  1. pythonista安卓版下载-pythonista 3ios
  2. go 实现斐波那契数列
  3. 2016.2.17文件夹选择框及文件选择框
  4. C语言 va_start / va_end / va_arg 自定义 printf 函数 - C语言零基础入门教程
  5. (王道408考研数据结构)第四章串-第二节:串的模式匹配算法(朴素和KMP)
  6. JavaScript 中的事件对象(读书笔记思维导图)
  7. C++求复数的角度_单词复数规则:tomato的复数究竟是加s还是es?
  8. 鼎捷易飞ERP视频教程-金速鹏-专题视频课程
  9. MYSQL去重方法汇总
  10. 关于Ubuntu循环登陆界面
  11. 英文科技论文写作与学术报告Lecture 4习题答案
  12. 手把手系列之四十七—手把手教你做奶白鲫鱼汤
  13. Java读按行读文件内容
  14. 最小生成树之Prim(普里姆)算法
  15. python怎么取共轭_自用numpy语法的共轭转置
  16. 魔百盒M401A_晶晨S905L3A_2+16G_安卓9_原厂卡刷固件包及详细教程
  17. 用JML实现的一个MSN客户端一
  18. CAELinux 2020
  19. 苹果Mac键盘打不出字怎么办?
  20. NotePad++ 添加Jass插件

热门文章

  1. zabbix 概念理解
  2. 33. 使用fread()/fwrite()往文件中写入结构体,从文件中读出结构体
  3. Mysql for Mac 安装及环境配置
  4. PyTorch 笔记(12)— Tensor 持久化、向量化、torch.set_num_threads、torch.set_printoptions
  5. MVC 中的 ViewModel
  6. Ruby: Ruby脚本在测试中的使用
  7. 【转】SQL函数:字符串中提取数字,英文,中文,过滤重复字符
  8. 【Socket研究】~。~ Scoket开发蛋疼笔记 Silverlight
  9. SQL Server 中print Datetime类型问题
  10. 动态环境下的SLAM:DynaSLAM 论文学习笔记