夯实C++基础之刷题:链表——3合并两个有序列表

2023-11-20

题目

在这里插入图片描述

解题(递归和迭代

我的理解:递归是自己调用自己,迭代是按思路往下走
1、递归

class Solution {
public:
    ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
        //递归
        if(list1 == NULL) return list2;
        else if(list2 == NULL) return list1;
        else if(list1->val < list2->val)
        {
            //想不清楚的话就假设此时list1只有一个元素,那这一个元素指向list2,且返回list1
            list1->next = mergeTwoLists(list1->next, list2);
            return list1;
        }else{
            list2->next = mergeTwoLists(list1, list2->next);
            return list2;
        }
    }
};

2、迭代
定义两个指针,一个头节点,一个节点指向下一个节点

class Solution {
public:
    ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
        ListNode* head = new ListNode(-1);
        ListNode* cur = head;
        while(list1!=NULL && list2!=NULL)
        {
            if(list1->val < list2->val)
            {
                cur->next = list1;
                list1 = list1->next;
            }
            else
           {
                cur->next = list2;
                list2 = list2->next;
            }
            cur = cur->next;//这一步不能忘了,自己也要往下走哇
        }
        //最后最多只有一个是空
        cur->next = list1==NULL?list2:list1;
        return head->next;
    }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

夯实C++基础之刷题:链表——3合并两个有序列表 的相关文章

  • C修改printf()输出到文件

    有没有办法修改printf为了将字符串输出到文件而不是控制台 我尝试在互联网上查找一些内容 发现了类似的电话dup dup2 and fflush这可能与此有关 EDIT 也许我不清楚 问题是这是C考试问题 问题如下 解释一个通常将字符串输
  • 为什么派生类不使用基类的operator=(赋值运算符)?

    以下是实际问题的简化版本 而不是打电话Base operator int 代码似乎生成了一个临时的Derived对象并复制它 既然函数签名似乎完美匹配 为什么不使用基本赋值运算符 这个简化的示例没有显示任何不良影响 但原始代码在析构函数中有
  • 关闭 XDOCUMENT 的实例

    我收到这个错误 该进程无法访问文件 C test Person xml 因为它是 被另一个进程使用 IOException 未处理 保存文件内容后如何关闭 xml 文件的实例 using System using System Collec
  • 如何使用汇编获取BIOS时间?

    我正在从头开始实现一个小型操作系统 用于教育目的 现在 我想使用汇编来获取 BIOS 时间 我对此进行了很多搜索 但找不到任何代码示例来执行此操作 如果有人可以提供任何参考或代码示例或与此相关的任何内容 我将非常感激 See 时钟中断 1a
  • 为什么假设 send 可能返回的数据少于在阻塞套接字上传输的请求数据?

    在流套接字上发送数据的标准方法始终是调用 send 并写入一大块数据 检查返回值以查看是否发送了所有数据 然后再次调用 send 直到整个消息被接受 例如 这是一个常见方案的简单示例 int send all int sock unsign
  • 使用反射获取基类的受保护属性值

    I would like to know if it is possible to access the value of the ConfigurationId property which is located in the base
  • Microsoft.Graph - 如何从具有不同用户名的共享邮箱发送?

    我目前正在将使用 SMTP 的服务代码移植到 Office 365 通过 SMTP 我可以使用 发件人 字段在来自共享收件箱的邮件上设置不同的用户名 同时保留共享电子邮箱地址 这似乎无法通过 Office 365 运行 其工艺流程为 客户填
  • c# 如何生成锦标赛括号 HTML 表

    所以我已经被这个问题困扰了三个星期 但我一生都无法弄清楚 我想做的是使用表格获得这种输出 演示 http www esl world net masters season6 hanover sc2 playoffs rankings htt
  • 如何在 C# 中使用 XmlDsigC14NTransform 类

    我正在尝试使用规范化 xml 节点System Security Cryptography Xml XMLDsigC14nTransformC net Framework 2 0 的类 该实例需要三种不同的输入类型 NodeList Str
  • 如何不在类中实现接口的功能?

    面试时面试官问了我以下问题 但我不知道这个问题的答案是什么 请帮忙 如果我不想 我必须做什么 在我的类中实现一个函数 在接口中声明为 由我班实施 Edited 我正在使用 NET 和 C 如果有人可以提供 C 示例代码示例 那就太好了 Th
  • 是什么原因导致 Linq 错误:此方法无法转换为存储表达式?

    我有一堆具有相同 select 语句的 Linq to Entity 方法 所以我想我会很聪明 并将其分离到它自己的方法中以减少冗余 但是当我尝试运行代码时 我得到了以下内容错误 该方法不能转化为 商店表达式 这是我创建的方法 public
  • asp.net c# 防止在从服务器端代码更改索引时触发 selectedindexchanged 事件

    我在同一个 aspx 页面上有两个下拉列表控件
  • Dynamics Crm:获取状态代码/状态代码映射的元数据

    在 Dynamics CRM 2011 中 在事件实体上 状态原因 选项集 也称为状态代码 与 状态 选项集 也称为状态代码 相关 例如看这个截图 当我使用 API 检索状态原因选项集时 如下所示 RetrieveAttributeRequ
  • 展开路径中具有环境变量的文件名

    最好的扩张方式是什么 MyPath filename txt to home user filename txt or MyPath filename txt to c Documents and settings user filenam
  • 微软语音识别速度

    我正在使用微软的语音识别器开发一个小型练习应用程序 对于我正在做的事情来说 我似乎无法让它足够快地识别单个单词 我希望能够正常说话 系统将从我所说的内容中抓取 关键字 并生成一个字符串 目前我正在使用 5 个单词的自定义语法 红 蓝 黄 绿
  • 你能解释一下这个C++删除问题吗?

    我有以下代码 std string F WideString ws GetMyWideString std string ret StringUtils ConvertWideStringToUTF8 ws ret return ret W
  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也
  • 是否有任何不使用公共虚拟方法的正当理由? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 是否有任何不使用公共虚拟方法的正当理由 我在某处读到我们应该避免使用公共虚拟方法 但我想向专家确认这是否是有效的声明 对于良好且稳定的 API
  • 通过 cmake 链接作为外部项目包含的 opencv 库[重复]

    这个问题在这里已经有答案了 我对 cmake 比较陌生 经过几天的努力无法弄清楚以下事情 我有一个依赖于 opencv 的项目 它本身就是一个 cmake 项目 我想静态链接 opencv 库 我正在做的是我的项目中有一份 opencv 源
  • 使用剪贴板 SetText 换行

    如何使用 SetText 方法添加换行符 I tried Clipboard SetText eee n xxxx 但当我将剪贴板数据粘贴到记事本中时 它没有给我预期的结果 预期结果 eee xxxx 我怎样才能做到这一点 Windows

随机推荐

  • 围棋吃子问题

    题目 Given a 2D board containing X and O capture all regions surrounded by X A region is captured by flipping all O s into
  • 浮生六记

    浮生六记 目录 浮生六记卷一 闺房记乐 002 浮生六记卷二 闲情记趣 015 浮生六记卷三 坎坷记愁 022 浮生六记卷四 浪游记快 034 浮生六记 2 浮生六记卷一 闺房记乐 余生乾隆癸未冬十一月二十有二日 正值太平盛世 且在 衣冠之
  • Android 性能优化系列:崩溃原因及捕获

    文章目录 崩溃的基本原因 抛出异常导致崩溃分析 AMS 如何承接应用的异常信息上报 对于 native crash 系统如何做处理 系统如何处理 ANR 异常数据 addErrorToDropBox DropBoxManager 在 Cra
  • 用简单易懂的话语来快速入门windows缓冲区溢出

    用简单易懂的话语来快速入门windows的缓冲区溢出教程 准备工具 immunity debugger https www immunityinc com products debugger WINDOWS的程序动态调试工具 Vulnser
  • matlab_多目标遗传算法

    前言 之前写过在python中的多目标遗传算法了 但是很可惜的是python调用商用有限元软件比较费事 需要在ironpython的编译环境下调用 然后这个ironpython它又是个老古董 不支持pandas和numpy这些python必
  • Transformer 模型详解

    本内容主要参照 此篇 然后结合个人理解新增和删减部分内容形成 文章目录 1 1 Transformer 概览 1 2 引入张量 1 3 Self Attention 自注意力 1 3 1 Self Attention 概览 1 3 2 Se
  • VirtualBox虚拟机网络连接设置的四种方式

    VirtualBox是一款SUN出品的非常优秀的虚拟机程序 版本也非常齐全 你可以在官网上找到适合各种操作系统平台的版本 这里我先给大家大致讲解下VBox的网络配置及应用 VirtualBox的提供了四种网络接入模式 它们分别是 1 NAT
  • mid360 SLAM 建图实现

    用别人分享的数据集试了下 室内建图问题不大 室外还不确定
  • Exynos4412 中断驱动开发(一)—— 中断基础及中断的注册过程

    一 中断基础概念 所谓中断 指CPU在执行程序的过程中 出现了某些突发事件即待处理 CPU必须暂停当前的程序 转去处理突发事件 处理完毕后CPU又返回原程序被中断的位置并继续执行 1 中断分类 a 内部中断和外部中断 根据中断的的来源 中断
  • (数据结构)树转换为二叉树、森林转换为二叉树、二叉树转换为树、二叉树转换为森林及树与森林的遍历

    1 树转换为二叉树 1 加线 在所有兄弟结点之间加一条线 2 去线 对树中每个结点 只保留它与第一个孩子结点的连线 删除它与其他孩子结点之间的连线 3 层次调整 以树的根结点为轴心 将整棵树顺时针旋转一定的角度 使之结构层次分明 注意第一个
  • 结束了在MSRA的实习

    从5月到11月底 总共在MSRA渡过了7个月的实习时光 这7个月似乎是我感觉过得最快的7个月 或许是一个人在北京 生活上没有太多的琐事 只有很单纯的工作 于是就有这种时光飞逝的感觉 当然 记忆里面也并非都是工作上的事情 在MSRA还认识来自
  • 通过External Tools在STM32CubeIDE下使用DAP-LINK

    目录 一 文章背景 二 准备工作 2 1 Stm32CubeIDE 2 2 DAP LINK 2 3 STM32目标板 三 配置过程 3 1 连接目标板 3 2 配置仿真器 3 3 更改调试设置为远程调试 3 4 新建OpenOcd扩展工具
  • 5种方法教你用Python玩转histogram直方图

    作者 xiaoyu 知乎 https zhuanlan zhihu com pypcfx 介绍 一个半路转行的数据挖掘工程师 直方图是一个可以快速展示数据概率分布的工具 直观易于理解 并深受数据爱好者的喜爱 大家平时可能见到最多就是 mat
  • 腾讯技术面经-后台-云计算虚拟化部门

    1 笔试 不区分 都是软开岗位 2个小时 一般1小时足够了 25道选择题 10道填空 还有2个选做题 涉及到操作系统 内存 HTTP协议 TCP UDP协议 LLR 0 LLR 1 数据结构 算法 C语言 协议 Ipv4
  • UE5学习笔记(一)——界面功能梳理&第一天知识点记录

    学习UE5的第一步 是软件安装 默认是安装好的 由于安装没有太多技术含量 所以就没有专门做记录 这里有个注意点 虚幻引擎是整合在Epic games launcher中的 也就是说开发引擎内嵌在游戏平台上 打个比方 就是如果你要下unity
  • SpringBoot项目拦截器过滤器配置

    1 我们在配置拦截器时需实现接口HandlerInterceptor package com example springbootdemo common conf interceptor import com example springb
  • QT窗体间传值总结

    在写程序时 难免会碰到多窗体之间进行传值的问题 依照自己的理解 我把多窗体传值的可以使用的方法归纳如下 1 使用QT中的Signal Slot机制进行传值 2 使用全局变量 3 使用public形式的函数接口 4 使用QT中的Event机制
  • pytesseract和PIL库用法是什么?【详细教程】

    Tesseraet是一个命令行工具 安装后只能通过tsseraet命令在Python的外部运行 而不能通过import语句引人使用 为了解决上述问题 Python 提供了支持Tssraec OCR引擎的Python版本的库pytessera
  • 04. 《Lombok 实战 —— @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor》

    文章目录 Lombok 实战 NoArgsConstructor RequiredArgsConstructor AllArgsConstructor 1 NoArgsConstructor 1 1 NoArgsConstructor 实战
  • 夯实C++基础之刷题:链表——3合并两个有序列表

    题目 解题 递归和迭代 我的理解 递归是自己调用自己 迭代是按思路往下走 1 递归 class Solution public ListNode mergeTwoLists ListNode list1 ListNode list2 递归