LeetCode题解之Merge Two Sorted Lists
1、题目描述

2、题目分析
题目要求合并有序的两个链表,要求不能额外申请空间。
3、代码
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
if( l1 == NULL )return l2;
if( l2 == NULL )return l1;
if( l1 == NULL && l2 == NULL ) return NULL;
ListNode* r = ( l1->val <= l2->val )?l1:l2;
if( l1->val <= l2->val ){
l1 = l1->next;
}else{
l2 = l2->next;
}
ListNode* pm = r ;
while( l1 != NULL && l2 != NULL ){
if( l1->val <= l2->val ){
pm->next = l1;
l1 = l1->next;
}else{
pm->next = l2;
l2 = l2->next;
}
pm = pm->next;
}
if( l1 != NULL ){
pm->next = l1;
}
if( l2 != NULL ){
pm->next = l2;
}
return r;
}
LeetCode题解之Merge Two Sorted Lists的更多相关文章
- LeetCode题解之Merge k Sorted Lists 解法二
1.题目描述 2.分析 利用 vector 存储指针,同时合并k个链表. 3.代码 ListNode* mergeKLists(vector<ListNode*>& lists) ...
- LeetCode题解之 Merge k Sorted Lists
1.题目描述 2.问题分析 使用合并两个链表的方法,逐次合并,效率较低.可以考虑同时合并K个链表. 3.代码 ListNode* mergeKLists(vector<ListNode*> ...
- 【LeetCode】21. Merge Two Sorted Lists 合并两个有序链表
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 个人公众号:负雪明烛 本文关键词:合并,有序链表,递归,迭代,题解,leetcode, 力 ...
- 【LeetCode】23. Merge k Sorted Lists 合并K个升序链表
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 个人公众号:负雪明烛 本文关键词:合并,链表,单链表,题解,leetcode, 力扣,Py ...
- [Leetcode][Python]21: Merge Two Sorted Lists
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 21: Merge Two Sorted Listshttps://oj.le ...
- [Leetcode][Python]23: Merge k Sorted Lists
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 23: Merge k Sorted Listshttps://oj.leet ...
- 【LeetCode练习题】Merge k Sorted Lists
Merge k Sorted Lists Merge k sorted linked lists and return it as one sorted list. Analyze and descr ...
- LeetCode LinkList 23. Merge k Sorted Lists
这两天一直也没有顾上记录一下自己做过的题目,回头看看,感觉忘的好快,今天做了一个hard,刚开始觉得挺难得,想了两种方法,一种是每次都从k个list中选取最小的一个,为空的直接跳过,再就是每次合并其中 ...
- C# 写 LeetCode easy #21 Merge Two Sorted Lists
21. Merge Two Sorted Lists Merge two sorted linked lists and return it as a new list. The new list s ...
随机推荐
- NodeJS开发环境配置
"Node.js 是服务器端的 JavaScript 运行环境,它具有无阻塞(non-blocking)和事件驱动(event-driven)等的 特色,Node.js 采用 V8 引擎,同 ...
- js便签笔记(6)——jQuery中的ready()事件为何需要那么多代码?
前言: ready()事件的应用,是大家再熟悉不过的了,学jQuery的第一步,最最常见的代码: jQuery(document).ready(function () { }); jQuery(fun ...
- Andrew Ng机器学习课程笔记(一)之线性回归
Andrew Ng机器学习课程笔记(一)之线性回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364598.html 前言 ...
- 数据绑定到ADO.NET
// Define a DataSet with a single DataTable. DataSet dsInternal = new DataSet(); dsInternal.Tables.Ad ...
- docker-compose部署elk+apm
1.安装docker 参考我的另外的一篇博客:https://www.cnblogs.com/cuishuai/p/9485939.html 2.安装docker-compose # yum -y i ...
- 几种流行的AJAX框架对比:Jquery,Mootools,Dojo,ExtJs,Dwr
1:Jquery 主页:http://jquery.com/ 设计思想:简洁的方案思想,几乎所有操作都是以选择DOM元素(有强大的Selector)开始,然后是对其的操作(Chaining等特性). ...
- 关于 luv_letters
luv_letters是一枚现高二文化课菜鸡,是一枚临汾一中联赛oier(我太菜了),也是一名Cher. (好像没有好的地方 真名不提跟某个当红女明星一样(正经汉子不女装 话说当初选择竞赛科目的时候( ...
- 学习Spring.Net:1.简单的应用之控制台
1.开始. 2.新建一个控制台,我们新建一个SpringNetTest类. using System; using System.Collections.Generic; using System.L ...
- 开放本地MYSQL服务器端口
有时候别人需要连接你的数据库,这个时候你就要开放数据库的端口,让别的主机可以连接上,步骤如下: 1.打开防火墙,新建入站规则,开放MySQL3306端口 2.执行以下两个命令: (1)如果你想允许用户 ...
- linux系统编程:open常用参数详解
open用于打开一个文件,通过设置不同的flag,可以让进程只读,只写,可读/可写等操作 一.对一个不存在或者存在的文件(test.txt),进行写入操作 /*==================== ...