夯实C++基础之刷题:链表——2链表反转

2023-11-04

题目

在这里插入图片描述

题解

1、双指针 每一次都局部翻转

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        ListNode* cur = NULL, *pre = head;
        while (pre != NULL) {
            ListNode* t = pre->next;
            pre->next = cur;
            cur = pre;
            pre = t;
        }
        return cur;
    }
};

2、递归(递归总是想不明白 ,我简想成只有两个元素,那么就是让当前节点的下一个节点的next指针指向当前节点,当前节点的next指针指向null,从而实现局部反转,递归下,递归都出栈时完成反转链表

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        if (head == NULL || head->next == NULL) {
            return head;
        }
        ListNode* ret = reverseList(head->next);//递归
        head->next->next = head;
        head->next = NULL;
        return ret;
    }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

夯实C++基础之刷题:链表——2链表反转 的相关文章

  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile

随机推荐

  • This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its

    在自定义MySQL函数的时候报了如下错误 2017 07 01 08 58 30 HY000 1418 This function has none of DETERMINISTIC NO SQL or READS SQL DATA in
  • MySQL根据不同条件联查不同表的数据if/case

    MySQL根据不同条件联查不同表的数据 项目开发中遇到类似的需求 Mybatis 中的 lt if gt 标签只能判断where部分 不能满足要求 在网上查解决方法 好像并没有可以完美解决问题的方案 if和case可以从某一种角度实现效果
  • Java HashSet介绍、使用方法详解及底层实现分析

    目录 1 HashSet介绍 2 使用方法 2 1 添加元素 2 2 判断元素是否存在 2 3 删除元素 2 4 计算集合元素个数 2 5 迭代HashSet 3 底层实现分析 1 HashSet介绍 HashSet 基于 HashMap
  • Xilinx FPGA平台GTX简易使用教程(汇总篇)

    GTX简易使用教程 先 知其然 慢慢再研究 所以然 目录 一 GTX必备基础知识 二 时钟篇 三 复位与初始化 四 GTX IP核配置介绍 五 GTX收发测试 六 后记 一 GTX必备基础知识 虽说搬砖只需要会用IP就行 但是为了把砖搬好
  • PCB过孔 VIA

    一 过孔基本概念与作用 1 过孔定义 从印制电路板的一个表层延展到另一个表层的导通孔 2 过孔作用 过孔可以起到电气连接 固定或定位器件的作用 二 过孔分类 通孔 Plated Through Hole 这种孔穿过整个线路板表面 可用于实现
  • nestjs:定义字典类型

    参考 initialization Declare and initialize a Dictionary in Typescript Stack Overflow 解决方法 下面的id可以改为任何命名 var persons id str
  • 系统上关闭是意外的_24V直流无刷电机电磁刹车系统介绍

    24V直流无刷电机型号BLDC57是在顾客规定状况下 这款一款直流无刷电机 48V 785W 3000转提升电磁刹车 实际主要参数见下表 这款电机选用绿色环保行业的天之骄子 钕磁铁硼钢 确保机器设备的优良特性 这款电机带24V直流无刷电机B
  • Idea打maven jar 抛出异常:A JNI error has occurred

    问题描述 当项目依赖其他jar包的时候 打出的jar包执行出错 抛出这个异常 报错信息 Error A JNI error has occurred please check your installation and try again
  • Android Studio 4.2 Gradle窗口找不到uploadArchives任务

    问题描述 Android Studio升级到4 2以后 新建了一个项目 配置好了uploadArchives任务想上传到Maven仓库 结果发现Gradle窗口找不到Tasks 解决方式 参考的原文链接 https stackoverflo
  • (软考高级)信息系统项目管理师过关经验

    初次接触软考是在大二期间 偶然了解到计算机软件水平考试 便在大二上学期一次性通过了软件设计师 结果本科阶段再也没有时间去考这些证书了 直到读研阶段 忙里抽闲赶紧复习 本不报希望 竟然通过了 总结原因无非是如下几条 已有知识储备 从容对待考试
  • springbootapplication注解包括哪些注解_@SpringBootApplication 注解 详解

    简单介绍一下 SpringBootApplication注解都有哪些注解组合而成 SpringBoot 一 SpringBootApplication是SpringBoot的一个核心注解 也是一个组合注解 二 SpringBootAppli
  • 疑难杂症 解决Ubuntu16.04 蓝牙搜索不到附近设备 适用于18.04

    文章目录 1 问题描述 2 问题症结 3 解决办法 References 1 问题描述 打开蓝牙搜索设备无果 2 问题症结 终端下输入命令 dmesg grep i blue BCM Patch brcm BCM hcd not found
  • 遍历存储树节点

    import json def unit node dict dump dict 记录节点 dump val node val 遍历节点 for sub node in node sub nodes temp val 1 sub nodes
  • malloc 底层实现及原理

    原文 malloc 底层实现及原理 爱笑的张飞 博客园 文章目录 结论 具体内容 内存分配的原理 具体分配过程 情况一 malloc 小于 128K 的内存 使用 brk 分配 情况二 malloc 大于 128K 的内存 使用 mmap
  • 微赞 小程序 服务器 配置,微赞小程序平台

    微赞小程序平台 内容精选 换一换 锁与等待分析基于Linux perf工具的采样数据 对glibc和开源软件 如MySQL Open MP 的锁与等待函数 包括sleep usleep mutex cond spinlock rwlock
  • CentOS7 手动部署lnmp环境

    参考 CentOS7 手动部署lnmp环境 自我的进化 步骤一 准备编译环境 关闭防火墙 运行systemctl status firewalld命令 查看当前防火墙的状态 如果防火墙的状态参数是inactive 则防火墙为关闭状态 如果防
  • esp32找不到com端口_玩转GPIO之ESP32点灯大法(MicroPython版)

    在这篇文章 介绍了ESP32搭建Python开发环境的基本流程 myastrotong 玩转GPIO之ESP32搭建Python开发环境 zhuanlan zhihu com 搭建基本开发环境以后 就可以基于MicroPython进行硬件开
  • 【机器学习因果推理】

    机器学习因果推理 先验概率和后验概率 一 概率基础知识 二 先验概率和后验概率两者之间的关系 2 1 概念区别 2 2 举例区分 三 举例说明 总结 先验概率和后验概率 先验概率 指根据以往经验和分析得到的概率 由因求果 后验概率 指依据得
  • python如何关闭窗口仍能运行_Python在退出时关闭自己的CMD shell窗口

    让我们首先分析两个发布的Python脚本行在执行Python脚本时真正做了些什么 感谢eryksun进行深入调查 真正使用Python导致正确的描述 现在可以在下面阅读 os system 导致在前台使用控制台窗口执行cmd exe C并停
  • 夯实C++基础之刷题:链表——2链表反转

    题目 题解 1 双指针 每一次都局部翻转 class Solution public ListNode reverseList ListNode head ListNode cur NULL pre head while pre NULL