OJ-合并两个有序链表

2023-11-20

题目描述:

代码如下:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */


struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){
    struct ListNode* p=list1;
    struct ListNode* q=list2;
    struct ListNode* newHead=NULL;
    struct ListNode* tail=NULL;

if(p!=NULL&&q!=NULL)
{
        //先让newHead指向两个链表中第一个较小的节点
        if(p->val<=q->val)
        {
        newHead=p;
        p=p->next;
        }
        else
        {
        newHead=q;
        q=q->next;
        }
        
      
        //让tail指向链表尾部
        tail=newHead;


       //逐个比较,逐个插入到新链表
        while(p&&q)
        {
            if(p->val<=q->val)
            {
                tail->next=p;
                p=p->next;
            }
            else
            {
                tail->next=q;
                q=q->next;
            }
            tail=tail->next;
        }

      //第一个链表还有剩余
        if(p)
        {
            tail->next=p;
        }
        else  //第二个链表还有剩余
        {
            tail->next=q;
        }
    return newHead;
}

else  如果某个链表为空,就返回另一个
{
        if(p==NULL)
        {
            return q;
        }
        else
        {
        return p;
        }
}

   
}

思路:

找出两个链表中第一个较小的结点,作为新链表的初始结点,然后开始逐个遍历,将当前最小值插入到新链表中,注意有一个链表为空的情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OJ-合并两个有序链表 的相关文章

  • 检查空参数的最佳方法(保护子句)

    例如 您通常不希望构造函数中的参数为空 因此看到类似的内容是很正常的 if someArg null throw new ArgumentNullException nameof someArg if otherArg null throw
  • 以相反的顺序迭代可变参数模板参数

    如果我手动反转传递给它的模板参数的顺序 以下代码将起作用 template
  • DispatcherTimer 未按时执行

    我正在使用 c 中的 DispatchTimer 编写一个时钟应用程序 但由于某些原因 我的时钟似乎时不时地跳过 1 秒 例如 52 秒 gt 54 秒 跳过 53 秒 在我看来 计时器并不是每秒都执行一次 DispatcherTimer
  • MVC 重定向到没有控制器的视图

    希望应该是一个简单的 我创建了一个通用错误视图 当整个站点的操作方法内发生异常时 我想显示该视图 我创建了一个部分页面 所有导航都位于其中 因此我不需要在此视图上使用控制器 那么如何从控制器内的操作方法重定向到它 像这样的东西 HttpPo
  • 为什么opencv videowriter这么慢?

    你好 stackoverflow 社区 我有一个棘手的问题 我需要你的帮助来了解这里发生了什么 我的程序从视频采集卡 Blackmagic 捕获帧 到目前为止 它工作得很好 同时我用 opencv cv imshow 显示捕获的图像 它也工
  • 切换图片框可见性 C#

    为什么图片框控件的可见性属性在这里不起作用 我最初将它们设置为 false 以便在屏幕加载时它们不可见 但后来我想切换这个 我已完成以下操作 但似乎不起作用 这是一个 Windows 窗体应用程序 private void Action w
  • 使用不带参数的 Split() 时,默认分隔符是什么?

    所以我看了看String Split 今天 C 中的方法 我意识到你也可以向它传递零参数 这是我从未考虑过的 使用时默认的分隔符是什么Split 没有任何参数 如果没有值 则为空白 来源自here https msdn microsoft
  • 为什么派生类不使用基类的operator=(赋值运算符)?

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

    大家好 我想知道如何设置 pdf 页面设置到打印属性对话框 例如 如果我的 PDF 页面设置为横向 则布局会自动显示横向而不是纵向 如果我的 PDF 页面设置为纵向 则布局会自动显示纵向 我在这个主题上做了很多研发 但没有找到任何满意的链接
  • 返回 int& 的函数[重复]

    这个问题在这里已经有答案了 我在网上查了一下发现一篇试图解释的文章std move和右值 http thbecker net articles rvalue references section 01 html并发现了一些我实在无法掌握的东
  • 如何使用汇编获取BIOS时间?

    我正在从头开始实现一个小型操作系统 用于教育目的 现在 我想使用汇编来获取 BIOS 时间 我对此进行了很多搜索 但找不到任何代码示例来执行此操作 如果有人可以提供任何参考或代码示例或与此相关的任何内容 我将非常感激 See 时钟中断 1a
  • 如何将字节块读入结构体

    我有一个需要处理的资源文件 它包含一组文件 首先 资源文件列出了其中包含的所有文件 以及一些其他数据 例如在此结构中 struct FileEntry byte Value1 char Filename 12 byte Value2 byt
  • Microsoft.Graph - 如何从具有不同用户名的共享邮箱发送?

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

    所以我已经被这个问题困扰了三个星期 但我一生都无法弄清楚 我想做的是使用表格获得这种输出 演示 http www esl world net masters season6 hanover sc2 playoffs rankings htt
  • 不要声明只读可变引用类型 - 为什么不呢?

    我一直在阅读这个问题 https stackoverflow com questions 2274412 immutable readonly reference types fxcop violation do not declare r
  • 展开路径中具有环境变量的文件名

    最好的扩张方式是什么 MyPath filename txt to home user filename txt or MyPath filename txt to c Documents and settings user filenam
  • 如何将 CSV 文件读入 .NET 数据表

    如何将 CSV 文件加载到System Data DataTable 根据CSV文件创建数据表 常规 ADO net 功能是否允许这样做 我一直在使用OleDb提供者 但是 如果您正在读取具有数值的行 但希望将它们视为文本 则会出现问题 但
  • c# 替代方案中 cfusion_encrypt 中填充的密钥是什么?

    我找到了从这里复制 C 中的 cfusion encrypt 函数的答案 ColdFusion cfusion encrypt 和 cfusion decrypt C 替代方案 https stackoverflow com questio
  • 在何处将 CFLAG(例如 -std=gnu99)添加到 (Eclipse CDT) 自动工具项目中

    我有一个简单的 Autotools C 项目 不是 C 其框架是由 Eclipse CDT Juno 为我创建的 CFLAG 通过检查 似乎是 g O2 我希望所有生成的 make 文件也具有 std gnu99附加到 CFLAG 因为我使
  • 如何确定给定方法可以抛出哪些异常?

    我的问题和这个真的一样 找出 C 中方法可能抛出的异常 https stackoverflow com questions 264747 finding out what exceptions a method might throw in

随机推荐

  • PyTorch:Torchvision的简单介绍与使用

    安装 pip install torchvision torchvision独立于pytorch 专门用来处理图像 通常用于计算机视觉领域 重点介绍torchvision最常用的三个包 models 提供了很多常用的训练好的网络模型 我们可
  • ubuntu双网卡绑定一个IP

    Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡 这个聚合起来的设备看起来是一个单独的以太网接口设备 通俗点讲就是两块网卡具有相同的IP 地址而并行链接聚合成一个逻辑链路工作 其实这项 技术在Sun和Cisco中早已存在 被称为Tr
  • Byte位元组单位-KB KiB MB MiB GB GiB区别

    一般而言大部份都只知道KB MB GB TB 等 倒是沒聽過KiB MiB 等 現在搞懂 原來分為以1000位元組或用1024位元組來計算之 這就是為什麼我們平時買硬碟或隨身碟的容量與實際真實的容量不同 像是我了8GB的隨身碟 實際為8 3
  • YOLOV5-6.1报错:OSError: [WinError 1455] 页面文件太小,无法完成操作。

    YOLOV5 6 1报错 OSError WinError 1455 页面文件太小 无法完成操作 注意 成功 解决方案 注意 数据集和之前的 共用一个数据集 使用之前的处理方式
  • vue之mixin理解与使用

    vue之mixin理解与使用 混入 mixin 提供了一种非常灵活的方式 来分发 Vue 组件中的可复用功能 一个混入对象可以包含任意组件选项 当组件使用混入对象时 所有混入对象的选项将被 混合 进入该组件本身的选项 权重 全局mixins
  • 开发之路,穷且益坚,不坠青云之志(入门开发者共勉)

    引言 2023毕业季 距离笔者毕业已过2年有余 互联网从业环境由盛转衰 互联网从业者数量剧增 市场竞争异常激烈 原本的利润空间被不断挤压 以至于很多开发者对互联网已经失去了信心与激情 互联网的市场份额依旧是占据着巨大的比重 为何互联网从业环
  • LInux基础——SELinux

    SELinux SELinux是什么 存取控制 自主式 DAC 委任式 MAC SELinux组成 SELinux安装 SELinux开关及模式 SELinux运行原理 SELinux Policy规则 getsebool setseboo
  • String.IsNullOrEmpty

    作用 指示指定的字符串是 null 还是 Empty 字符串 语法 public static bool IsNullOrEmpty string value 参数 value Type System String 要测试的字符串 返回值
  • 【SAP ABAP】OLE批量下载文件

    SAP ABAP OLE批量下载文件 目前在做DOI的程序 发现OAOR与SMW0有相似之处 OAOR可以单独获取文件夹地址与目标文件名拼接下载 但是之前OLE下载方式都是针对一个文件的 现在摸索出了批量方式 有限制 这里将先将主要代码粘贴
  • Maven创建现实公司应用web项目

    1 步骤说明 STEP BY STEP 见 下载地址 http download csdn net detail jun55xiu 8314633 2 过程出现的问题汇总 1 Failed to execute goalorg apache
  • css图片不断放大缩小的动画效果

    img class move img width 26px src assets img btn coupon 2x png alt move img animation name scaleDraw 关键帧名称 animation tim
  • 前端面试中级开发必须知道跨域解决方案

    跨域 不同协议 不同URL 不同端口号都会产生跨域 解决跨域的方案 postMessage web worker iframe Jsonp 用script标签请求地址 标签可以跨域 cors 服务端设置响应头信息 允许跨域 1 最常见用co
  • 【Java进阶营】29个你必须学会的微服务面试问题(含答案解析)

    这29个微服务面试题基本涵盖了方方面 希望对你有所帮助 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 img YvPsK1zg 1651230439289 https upload images jianshu io
  • Starting udev卡死的问题

    Linux启动停止在Starting udev 一 出现问题 在VM的CentOS 5 4 32bit上重新编译了内核 2 6 19 7 启动新内核时 停在starting udev 然后按下Ctrl C取消 才能继续启动 于是google
  • 解决View drawableLeft左侧图片大小不可控的问题

    今天在制作带文字的图片按钮的时候 使用了TextView的drawableLeft属性 但是在使用的过程中 我发现我所使用的图片资源的大小过大 导致整个效果很不和谐 可是drawableLeft并不能在xml通过属性控制它的大小 这时 我就
  • 《OpenGL编程指南》示例笔记(2)--独立地移动光源

    TITLE OpenGL编程指南 示例笔记 2 独立地移动光源 AUTHOR norains DATE Monday 21 June 2010 Environment Windows XP 示例概述 例名 独立地移动光源 序号 5 6 页码
  • TVS管电路原理图符号及选型举例

    TVS管的电路原理图符号与稳压二极管符号类似 结构也都差不多 了解TVS管的电路原理图符号是掌握TVS管符合选型的基础 一般常见的TVS管电路原理图符号有 VBR IPP IR VRWM VC PM CP VBR代表的是 击穿电压 IPP代
  • 最详细的Vue实现日历组件Calendar(日期点击多选,滑动多选)

    1 成果演示 1 1 日期的切换 1 2 点击多选 1 3 滑动多选 2 实现基本的日期渲染 2 1 思路 2 1 1 要用到的Date对象方法 new Date 2020 4 1 getDay 计算传入的日期是星期几 返回值0表示星期天
  • 官网下载Eclipse

    1 打开Eclipse官网 https www eclipse org 也可以在百度中 搜索 Eclipse 2 点击 Download 3 点击 Download Pakeges 4 下拉 选择所要的版本和系统 5 点击 Select A
  • OJ-合并两个有序链表

    题目描述 代码如下 Definition for singly linked list struct ListNode int val struct ListNode next struct ListNode mergeTwoLists s