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

[LeetCode] Merge Two Sorted Lists

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.

注意写出鲁棒性的代码,时间复杂度O(n),空间复杂度O(1)

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {
        if (l1 == NULL) return l2;
        if (l2 == NULL) return l1;
        
        ListNode *head = NULL;
        ListNode **p = &head;
        while (l1 && l2) {
            if(l1->val < l2->val) {
                *p = l1;
                p = &(l1->next);
                l1 = l1->next;
            } else {
                *p = l2;
                p = &(l2->next);
                l2 = l2->next;
            }
        }
        
        if (l1 != NULL) {
            *p = l1;
        } else {
            *p = l2;
        }
        
        return head;
    }
};

 

相关题目:

  《剑指offer》面试题4

转载于:https://www.cnblogs.com/vincently/p/4127310.html

相关文章:

  • telnet测试端口号
  • 已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭。
  • DateTime.ToString格式化日期,使用DateDiff方法获取日期时间的间隔数
  • EasyMock的使用
  • dssfsfsfs
  • Android应用程序资源的查找过程分析
  • C++中正确使用PRId64 (转载)
  • 一些变量(39~62)
  • [转]Java学习日记之 volatile
  • beta 分布的简单理解
  • 二. Weinre 调试 IOS Hybrid APP
  • careercup-C和C++ 13.10
  • 冬吴相对论锦言佳句--0005.薄伽梵歌与“印度式管理”
  • 实用脚本 4 -- Makefile(不同文件下的多个可执行文件or静态库编译到同一目录下)...
  • C# dataGridView不显示默认行的解决办法
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • flutter的key在widget list的作用以及必要性
  • java取消线程实例
  • js面向对象
  • js中的正则表达式入门
  • Less 日常用法
  • PAT A1050
  • Sass 快速入门教程
  • SQLServer之索引简介
  • 服务器从安装到部署全过程(二)
  • 前嗅ForeSpider中数据浏览界面介绍
  • 如何实现 font-size 的响应式
  • 数据结构java版之冒泡排序及优化
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 原生js练习题---第五课
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (33)STM32——485实验笔记
  • (Ruby)Ubuntu12.04安装Rails环境
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • .net mvc部分视图
  • .NET 指南:抽象化实现的基类
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .py文件应该怎样打开?
  • @Mapper作用
  • @PreAuthorize注解
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [20170728]oracle保留字.txt
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林
  • [APUE]进程关系(下)
  • [C++] 如何使用Visual Studio 2022 + QT6创建桌面应用
  • [CSS]CSS 字体属性
  • [github全教程]github版本控制最全教学------- 大厂找工作面试必备!
  • [hdu 3652] B-number
  • [IE编程] IE中对网页进行截图的编程接口
  • [LeetCode] NO. 169 Majority Element