C++删除单链表中指定元素
// 删除单链表指定元素5
#include <iostream>
#include <vector>
using namespace std;//节点定义:
struct ListNode {int val;ListNode* next;ListNode(int x) : val(x), next(nullptr) {}
};
class Solution {public:ListNode* removeElements(ListNode* head, int val) {ListNode* dummyHead = new ListNode(0);//创造个虚拟头节点,便于操作链表dummyHead->next = head;ListNode* cur = dummyHead;while (cur->next != NULL) {if (cur->next->val == val) {ListNode* tmp = cur->next;cur->next = cur->next->next;delete tmp;}else {cur = cur->next;}}head = dummyHead->next;//如果是删除头节点就需要这行delete dummyHead;return head;}
};
//创造节点
void CreateList(ListNode *head) {vector<int> nums = { 1,2,3,3,1,5,1 };ListNode *p = head;for (int i = 1; i < nums.size(); ++i){p->next = new ListNode(nums[i]);p = p->next;}
}
//输出节点
void PrintList(ListNode *head) {ListNode *p = head;while (p != NULL){cout << p->val << endl;p = p->next;}
}
int main() {ListNode* head = new ListNode(1);//创造头节点CreateList(head);Solution List;ListNode* ret = List.removeElements(head, 5);PrintList(ret);system("pause");return 0;
}
C++删除单链表中指定元素相关推荐
- SDUT_2122 数据结构实验之链表七:单链表中重复元素的删除
提交代码 数据结构实验之链表七:单链表中重复元素的删除 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Proble ...
- 写一个函数DeleteRange删除单链表中结点的值在low 和high之间的结点
/*实验2 1. 写一个函数DeleteRange删除单链表中结点的值在low 和high之间的结点 (low和high的值是多少可自由设计).并且要在程序中验证其功能实现. (可在实验1的第3题的基 ...
- 用O(1)的时间复杂度删除单链表中的某个节点
用O(1)的时间复杂度删除单链表中的某个节点 给定链表的头指针和一个结点指针,在O(1)时间删除该结点.链表结点的定义如下: struct ListNode {int m_nKey;ListNode* ...
- 删除单链表中倒是第K个结点
[问题描述] 设有头结点单链表,删除单链表中倒数第k个结点. [输入形式] 第一行输入若干个整数建立带头结点的单链表(以输入字符作为结束). 第二行输入一个整数k,表示删除倒数第k个结点. [输出形式 ...
- 删除单链表中的重复节点
删除单链表中的重复节点 一.题目描述 已知单链表L,写一算法,删除其中的重复节点.(更好的阅读体验,请访问程序员在旅途) 二.分析解答 2.1 知识点分析 本题主要考察链表的相关知识点,其中包括:单链 ...
- python 链表倒数第k个节点_链表-删除单链表中倒数第k个节点
题目 实现一个函数,一个可以删除单链表中倒数第k个节点 难度 简单 分析 本题比较简单,实现方法多种多样,这里提供一种方法 首先明确一点,在单链表中删除倒数第k个节点,需要找到他的前一个节点,让前一个 ...
- 数据结构实验之链表七:单链表中重复元素的删除
Description 按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个). Input 第一行输入元素个数 n (1 <= n &l ...
- 7-6 数据结构实验之链表七:单链表中重复元素的删除 (20 分)
按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个). 输入格式: 第一行输入元素个数 n (1 <= n <= 15): 第二行 ...
- 递归删除单链表中所有值为x的元素_如何纯递归反转链表的一部分
读完本文,你可以去力扣拿下如下题目: 92.反转链表II ----------- 反转单链表的迭代实现不是一个困难的事情,但是递归实现就有点难度了,如果再加一点难度,让你仅仅反转单链表中的一部分,你是 ...
最新文章
- linux 信号软中断的方式
- 腾讯产品课观后感之定位2018-08-22
- 稳坐开发领域霸主之位,揭秘C语言无可取代的几大原因!
- 鸿蒙OS电脑体验,华为鸿蒙OS体验抢先曝光!有多个更新版本,界面和安卓完全不同...
- java方法分为类方法和_— Must we finish copying all these articles this morning? — No, you( )._学小易找答案...
- python中randint用法_python中的randint,引入模块
- js 图片上传时加水印
- Linux串口驱动加载过程
- java-net-php-python-springboot羽毛球场地管理系统演示录像计算机毕业设计程序
- CSDN博客如何更换皮肤
- “Apache官网打不开”怎么办?
- 【机器学习】模型评估
- Flash activex控件版本信息
- Jenkins查看凭据的密码
- RSA后台加密,前端解密
- 计算机存储容量单位的倍数关系,存储器容量单位有哪些,它们之间的关系是什么...
- 个人头像-----资源
- 精通Web Analytics 2.0 (13) 第十一章:变身分析忍者的指导原则
- 华为笔试题1-面试题17.24-最大子矩阵
- stata:时间变量格式转换