给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。

示例 1:

输入:head = [1,2,6,3,4,5,6], val = 6
输出:[1,2,3,4,5]

示例 2:

输入:head = [], val = 1
输出:[]

示例 3:

输入:head = [7,7,7,7], val = 7
输出:[]

提示:

列表中的节点在范围 [0, 104] 内
1 <= Node.val <= 50
0 <= k <= 50

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-linked-list-elements
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路:
解决链表问题常规有两种方法,一种是直接遍历,一种是递归,直接遍历要注意头部有val以及中间连续val的情况,递归就很好理解了,代码如下:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {public:ListNode* removeElements(ListNode* head, int val) {// 如果为空if(head == nullptr) {return nullptr;}// 如果头部有val,先去除while(head != nullptr && head->val == val) {head = head -> next;}ListNode* node = head;while(node != nullptr) {// while循环防止连续的val出现while(node->next != nullptr && node->next->val == val) {node->next = node->next->next;}node = node->next;}return head;}
};/*作者:heroding
链接:https://leetcode-cn.com/problems/remove-linked-list-elements/solution/cliang-chong-jie-fa-by-heroding-6djl/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。*/
/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {public:ListNode* removeElements(ListNode* head, int val) {// 如果为空if(head == nullptr) {return nullptr;}head->next = removeElements(head->next,val);if(head->val == val) {return head->next;}return head;}
};/*作者:heroding
链接:https://leetcode-cn.com/problems/remove-linked-list-elements/solution/cliang-chong-jie-fa-by-heroding-6djl/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。*/

LeetCode 203 移除链表元素 HERODING的LeetCode之路相关推荐

  1. Java实现 LeetCode 203 移除链表元素

    203. 移除链表元素 删除链表中等于给定值 val 的所有节点. 示例: 输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2 ...

  2. leetcode 203. 移除链表元素

    题目 思路 经典的小弟大哥解法: 小弟踩着大哥的脚印 大哥先走一步 题解 // Definition for singly-linked list. class ListNode {int val;L ...

  3. Leetcode 203. 移除链表元素 解题思路及C++实现

    解题思路: 定义两个指针分别指向当前节点和上一个节点.遍历一次链表即可. 需要注意的情况是,链表的头结点的 val 就和输入的 val 相等 这一情况. /*** Definition for sin ...

  4. 21. Leetcode 203. 移除链表元素 (链表-基础操作类-删除链表的节点)

    给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 .示例 1:输入:head = [1,2,6,3,4,5,6] ...

  5. Leetcode 203. 移除链表元素 (每日一题 20210914)

    给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 .示例 1:输入:head = [1,2,6,3,4,5,6] ...

  6. leetcode 203 移除链表元素 C++

    注意第一个元素的处理方法 今晚还有四个题要做,来不及解释了,上代码 class Solution {public:ListNode* removeElements(ListNode* head, in ...

  7. leetcode:203. 移除链表元素(两种方法)

    一:题目 二:上码 1:方法一:(虚拟一个首结点) class Solution {public:ListNode* removeElements(ListNode* head, int val) { ...

  8. LeetCode Algorithm 203. 移除链表元素

    203. 移除链表元素 Ideas 这题其实很简单,从头开始遍历,只要遇到node->val==val的通通删除就OK了. Code C++ class Solution {public:Lis ...

  9. 203. 移除链表元素 力扣 c语言

    203. 移除链表元素 难度简单843 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 . 方法1 迭代 也可 ...

最新文章

  1. flutter gridview 固定高度_Flutter +携程=?
  2. 结合MongoDB开发LBS应用
  3. 科学家研发机器人混入南极企鹅群 获“友好”对待
  4. Matrix Decompressing UVA - 11082 最大流 + 输出方案
  5. vscode编辑python_VSCode+Python开发环境
  6. python的pip_Python3中安装pip3
  7. git新手配置(ios环境)
  8. javaWeb:相关监听方法汇总
  9. 少编码多思考:代码越多 问题越多
  10. Java中取某一个范围的随机数
  11. TCP/IP三次握手四次挥手
  12. 处女座的比赛资格(拓扑排序)
  13. python notebook 在加载ipynb文件 报错NotJSONError(‘Notebook does not appear to be JSON: \‘\\ufeff{“nbformat“
  14. 守望先锋游戏反外挂技术测评
  15. linux怎么踢普通用户,Linux系统管理员踢用户的方法
  16. 第6章第27节:画面太空怎么办:使用小元素填充空旷的版面 [PowerPoint精美幻灯片实战教程]
  17. Zotero | 文献关联
  18. word排版----分节、页眉页脚、页码、制作标题样式
  19. junit 测试似有方法_JUnit测试私有方法(protected方法类同)
  20. kali 切换root账号

热门文章

  1. CTF-Show密码学【摩斯码、培根密码】
  2. 【Python课程设计】学生成绩管理系统
  3. 剑指offer----C语言版----第十天
  4. 找不到.gitconfig怎么办?
  5. cordova安装启动
  6. STM32CubeMX安装
  7. 适合陪孩子一起看的电影
  8. 王雪红:别样“富二代”
  9. linux系统gps时钟定时校时,自动校时钟—GPS标准时钟系统
  10. grubby - Unix,Linux命令 修复飘盘的情况