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-合并两个有序链表 的相关文章

随机推荐

  • 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