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

牛客华为机试--HJ48 从单向链表中删除指定值的节点C++

题目描述

在这里插入图片描述

示例1

在这里插入图片描述

示例2

在这里插入图片描述

该题的核心是每来一组数据,都要从头开始找,找到数据后再插入。而不是直接在尾部插入数据。

上代码

#include <iostream>
using namespace std;

struct ListNode {
    int val;
    ListNode *next;

    ListNode(int x) : val(x), next(nullptr) {}
};

int main() {
    int n, h;
    cin >> n >> h;

    ListNode *head = new ListNode(h);

    for (int i = 1; i < n; i++) {
        int val, after;
        cin >> val >> after;
        ListNode *Temp = head;
        while (Temp != nullptr) {
            if (Temp->val == after) {
                ListNode *NextNode = Temp->next;
                Temp->next = new ListNode(val);
                Temp->next->next = NextNode;
            }
            Temp = Temp->next;
        }
    }

    int k;
    cin >> k;
    while (head != nullptr) {
        if (head->val != k) {
            cout << head->val << " ";
        }
        head = head->next;
    }

    //正常需要补充释放内存代码
}
http://www.dtcms.com/a/118576.html

相关文章:

  • 典型反模式深度解析及重构方案
  • 什么是 Git?为什么要用版本控制?
  • Python爬虫第三战(使用session登录小说网获取书单)
  • 蓝桥备赛指南(14):树的直径与重心
  • 判断矩阵A和矩阵B是否相似?
  • 解决使用PendingIntent.getBroadcast时出现java.lang.IllegalArgumentException异常的问题
  • (四十)Dart 中的空安全(Null Safety)教程
  • Web品质 - 重要的HTML元素
  • Linux 命令清单(Linux Command List)
  • MySQL随机获取记录之方法(The Method of Randomly Obtaining Records in MySQL)
  • 【python3】关于等额本金和等额本息计算
  • Activiti(二)- 基于SpringBoot开发配置activiti相关配置项
  • 深入理解C++面向对象特性之一 多态
  • Linux驱动开发进阶(六)- 多线程与并发
  • Redis到底能不能做主数据库?
  • xv6-labs-2024 lab1
  • QML面试笔记--UI设计篇03导航控件
  • 国内数据安全传送简述
  • python 微信小程序支付、查询、退款使用wechatpy库
  • 神经探针与价值蓝海:AI重构需求挖掘的认知拓扑学
  • 深度学习 Deep Learning 第19章 近似推理
  • 基于SpringBoot的在线拍卖系统(源码+数据库+万字文档+ppt)
  • 【LeetCode 题解】算法:34.在排序数组中查找元素的第一个和最后一个位置
  • Kafka 中的 offset 提交问题
  • Qt 资源文件(.qrc 文件)
  • 基于SpringBoot的“高校社团管理系统”的设计与实现(源码+数据库+文档+PPT)
  • 基于ensp的mpls的解决bgp域内黑洞及MPLS VPN的应用
  • 心脏滴血漏洞(CVE-2014-0160)漏洞复现
  • 探秘PythonJSON解析深度剖析json.loads处理嵌套JSON字符串的奥秘
  • 《UNIX网络编程卷1:套接字联网API》第3章 套接字编程简介