当前位置: 首页 > news >正文

华为机试 HJ48 从单向链表中删除指定值的节点

题目链接
描述
输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针。

链表的值不能重复。

构造过程,例如输入一行数据为:
6 2 1 2 3 2 5 1 4 5 7 2 2
则第一个参数6表示输入总共6个节点,第二个参数2表示头节点值为2,剩下的2个一组表示第2个节点值后面插入第1个节点值,为以下表示:
1 2 表示为
2->1
链表为2->1

3 2表示为
2->3
链表为2->3->1

5 1表示为
1->5
链表为2->3->1->5

4 5表示为
5->4
链表为2->3->1->5->4

7 2表示为
2->7
链表为2->7->3->1->5->4

最后的链表的顺序为 2 7 3 1 5 4

最后一个参数为2,表示要删掉节点为2的值
删除 结点 2

则结果为 7 3 1 5 4

数据范围:链表长度满足 1≤n≤1000 ,节点中的值满足 0≤val≤10000

测试用例保证输入合法

输入描述:
输入一行,有以下4个部分:
1 输入链表结点个数
2 输入头结点的值
3 按照格式插入各个结点
4 输入要删除的结点的值

输出描述:
输出一行
输出删除结点后的序列,每个数后都要加空格

示例1
输入:
5 2 3 2 4 3 5 2 1 4 3

输出:
2 5 4 1

说明:
形成的链表为2->5->3->4->1
删掉节点3,返回的就是2->5->4->1
示例2
输入:
6 2 1 2 3 2 5 1 4 5 7 2 2

输出:
7 3 1 5 4

solution:常规链表操作,套用STL即可

#include <iostream>
#include <list>
#include <algorithm>
using namespace std;int main() {int n, head, x, y;cin >> n >> head;n--;list<int> lst;lst.push_back(head);while (n--){cin >> x >> y;for (auto it(lst.begin()); it != lst.end(); ++it){if (*it == y){lst.insert(++it, x);break;}}}cin >> n;for (auto it(lst.begin()); it !=lst.end(); ++it) {if (*it == n){lst.erase(it);break;}}for (auto it(lst.begin()); it !=lst.end(); ++it) {cout << *it << ' ';}return 0;
}
// 64 位输出请用 printf("%lld")
http://www.lryc.cn/news/35916.html

相关文章:

  • 华为机试 HJ1 字符串最后一个单词的长度
  • 从入门到精通MongoDB数据库系列之二:深入了解MongoDB基本概念文档、集合、数据库、数据类型、MongoDB shell
  • 前端实用技巧,JS压缩、美化、JS混淆加密
  • synchronized轻量级锁优化
  • python 日期转换 日期字符相关
  • 使用sm4js进行加密和国密sm4的总结
  • c语言面试题目整理
  • 【嵌入式Bluetooth应用开发笔记】第三篇:初探BLUE ALSA应用开发
  • C++基础了解-21-C++ 继承
  • To_Heart—游记——NOI 春季测试
  • Laya小游戏开发,laya3D美术篇——1——关于laya自带的几个shader的基础运用讲解。
  • brew 的安装与使用 (Apple Silicon CPU的Mac机型完成适配)
  • 传输线的物理基础(四):传输线的特性阻抗
  • (六十九)以MySQL单表查询来举例,看看执行计划包含哪些内容(2)?
  • Linux发行版的backport
  • GitLab 存储型XSS漏洞 (CVE-2023-0050)
  • HTTPS加密流程
  • Binder通信原理与弊端解析
  • 网络使用情况监控
  • 业务流程图TFD和数据流程图DFD例题
  • react框架基础入门
  • C++ ,JNI, Java 数据传递全解(一)
  • 【Unity逆向】玩游戏遇到的“飞天锁血”是怎么实现的?
  • Spring基础与创建
  • 虚拟机系列教程:虚拟机克隆
  • iperf3主页官方信息
  • Linux-0.11 kernel目录进程管理sched.c详解
  • AI已到,普通人的机会在哪里?
  • CSP-J2022入门组二轮补赛试题(山东)T2:宴会
  • ubuntu 使用 CMake 构建 Qt5 项目