解题思路:

定义两个指针分别指向当前节点和上一个节点。遍历一次链表即可。

需要注意的情况是,链表的头结点的 val 就和输入的 val 相等 这一情况。

/*** 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) return head;while(head && head->val == val) head = head->next;ListNode* last = head;ListNode* cur = head;while(cur){if(cur->val == val){//将last节点的next指针指向cur的nextlast->next = cur->next;cur = last->next;}else{last = cur;cur = cur->next;}}return head;}
};

Leetcode 203. 移除链表元素 解题思路及C++实现相关推荐

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

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

  2. LeetCode 203 移除链表元素 HERODING的LeetCode之路

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

  3. leetcode 203. 移除链表元素

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

  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. LeetCode-链表-203. 移除链表元素

    描述 203. 移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 . 示例 1: 输入:head ...

最新文章

  1. [分享]3秒钟让你的QQ号IP跑到任何地方,哪怕是美国白宫!
  2. IE6,IE7,FF等浏览器不兼容原因及解决办法(转)
  3. Python中最常用的字符串方法!
  4. Mac 实现可以在 Finder 下直接打开 iTerm2 并跳转到当前目录
  5. angular之两种路由
  6. 2-sat模板- 输出可行解
  7. C/C assert()函数用法总结与注意事项
  8. 数据库杂谈(四)——关系演算和E-R数据模型
  9. 获取某一天前七天的数据(不包括某一天)
  10. 【实用工具】查看gcc/vs开启的宏
  11. [导入]将asp.net usercontrol(用户控件页)转变为普通控件
  12. 一公顷等于多少平方米
  13. IE9为啥没有加载进度进度提示
  14. 《程序设计实践》读书笔记第五至六章
  15. Rational Rose概述
  16. [机器学习、Spark]Spark机器学习库MLlib的概述与数据类型
  17. 联想计算机怎么设置硬盘,bios设置修改硬盘模式|联想笔记本BIOS设置硬盘模式教程...
  18. MATLAB学习笔记02-MATLAB的数据类型
  19. switch范围判断、switch区间判断
  20. 妮妮lisp_140种Python标准库、第三方库和外部工具都有!

热门文章

  1. oracle RAC信息,Oracle 查看 RAC GI 版本信息
  2. matlab如何模拟竹蜻蜓飞行,JSBSim_Matlab 将 与 进行联合仿真 模拟飞行计算 247万源代码下载- www.pudn.com...
  3. java异常_Java的异常体系
  4. 其他团队对本组建议汇总
  5. 持续集成篇:jenkins搭建和job运行
  6. [译]深度神经网络的多任务学习概览(An Overview of Multi-task Learning in Deep Neural Networks)...
  7. 打jar时包含所有依赖(maven-assembly-plugin)
  8. adb connect 出现timeout的处理方式
  9. Windows Mobile访问SQL Server CE 3.5(2)
  10. QFIL工具如何导出手机分区数据