Remove all elements from a linked list of integers that have value val.

Example
Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6,  val = 6
Return: 1 --> 2 --> 3 --> 4 –> 5

题目要求:

删除链表中包含val的元素结点

解题思路:

重点在于找到第一个非val的头结点,然后遍历链表,依次删除值为val的结点,最后返回头结点

方法:

1、常规方法:

找到第一个非val的头结点,如果头结点非NULL,遍历链表,依次删除值为val的结点,最后返回头结点。

2、递归方法:

代码:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* removeElements(ListNode* head, int val) {while(head!=NULL && head->val==val)head=head->next;if(head==NULL)return head;// At least one node that does not contain valListNode* cur;cur=head;while(cur->next!=NULL){if(cur->next->val==val)cur->next=cur->next->next;elsecur=cur->next;}return head;}
};

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* removeElements(ListNode* head, int val) {if(head && head->val==val) head=removeElements(head->next,val);if(head && head->next) head->next=removeElements(head->next,val);return head;}
};

(LeetCode 203)Remove Linked List Elements相关推荐

  1. (LeetCode 83)Remove Duplicates from Sorted Lists

    Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...

  2. 环形链表【手绘漫画】面试必考之双指针(LeetCode 141)

    文章目录 图解算法与数据结构 1.前言 2.实例 3.正文 4.代码 图解算法与数据结构 1.前言 今天开始的是双指针! 下面一起来看看吧!!! 让我们从一个经典问题开始: 环形链表进阶版[手绘漫画] ...

  3. leetcode python3 简单题203. Remove Linked List Elements

    1.编辑器 我使用的是win10+vscode+leetcode+python3 环境配置参见我的博客: 链接 2.第二百零三题 (1)题目 英文: Remove all elements from ...

  4. 求完全二叉树结点个数(leetcode 222)

    力扣 目录 思路 1.递归(看作普通二叉树 求结点个数) 2.利用完全二叉树的特性(位运算+二分法) 思路 1.递归(看作普通二叉树 求结点个数) 递归出口: (1)根节点为空,返回0 (2)根节点的 ...

  5. (LeetCode C++)跳跃游戏

    给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个下标. 示例 1: 输入:nums = [2,3,1, ...

  6. 拼写单词(leetcode 1160)

    文章目录 1.问题描述 2.难度等级 3.热门指数 4.解题思路 5.实现示例 5.1 C++ 5.2 Golang 参考文献 1.问题描述 给你一份『词汇表』(字符串数组) words 和一张『字母 ...

  7. (LeetCode C++)爬楼梯

    假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶. 1. 1 ...

  8. (LeetCode C++)比特位计数

    给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案. 示例 1: 输入:n = 2 输 ...

  9. 20190816:(leetcode习题)有效的数独

    有效的数独 题目 大致思路 代码实现 题目 大致思路 3点要求里提到了每一行,每一列,每一个宫内不能有重复的数字.因此想到使用HashSet来解决 具体的另一个难点是如何表示每一个宫内的对应位置. 具 ...

最新文章

  1. 面向对象 - 继承性
  2. boost::geometry::closeable_view用法的测试程序
  3. sys/queue.h
  4. 线程组之间的JMeter传递变量
  5. java.util.Scanner简单应用
  6. git pull提示remote error:CAPTCHA required
  7. 宁德时代拟定增募资不超582亿元,用于锂离子电池项目等
  8. 首批 5G 手机到位;来电显示暗藏黑色利益链;印度下架抖音国际版 | 极客头条...
  9. 怎样正确的理解和解决 ORA-01843:not a valid month
  10. 如何编程访问infopath字段
  11. layui数据表格接口_layui后台管理—table 数据表格详细讲解
  12. duboo仿猫眼微服务架构—微服务入门
  13. 如何配置一台电脑。(一次解决电脑基础知识和如何选择合适电脑)
  14. 苹果手机连到电脑后找不到服务器,iPhone手机热点明明打开了,可是电脑就是连不上怎么办?...
  15. 【UVA】1586 Molar mass
  16. 案例:WLC HA主WLC进入维护模式
  17. lisp+等高线点线矛盾检查_基于AutoCAD平台地形图高程点与等高线点线矛盾检测方法研究与实现...
  18. html多个好看的背景动态效果(附源码)
  19. 2022-12-16 leetcode与蓝桥刷题情况
  20. 六个在线生成网址二维码的API接口

热门文章

  1. LeetCode 673. Number of Longest Increasing Subsequence--O(N log N )--Java,C++,Python解法
  2. redis设置主从复制-slave Replication--解决报错:(error) READONLY You can't write against a read only slave.
  3. 码分复用的matlab仿真,基于matlab的多路时分复用仿真.doc
  4. Spring-Boot-Bean的使用,@Repository,@Service,@Controller,@Component
  5. linux 用root安装mysql数据库_Linux上安装Mysql及简单的使用详解
  6. android位置传感器
  7. android webview java_Android Webview中调用本地java方法
  8. python opencv 人脸比对_Python3.5+openCv在Windows下利用LBP算法进行人脸识别并匹配
  9. 实例创建流程_Activiti系列~3.流程定义
  10. 进入贝壳网_贝壳网app下载安装