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.

题意:合并两个排好的链表并返回新的链表。

可以使用归并排序,从两链表的表头,取出结点,比较两值,将较小的放在新链表中。如1->3->5->6和2->4->7->8,先将1放入新链表,然后将3和2比较,较小值放入新链表中,从1到3只要pre=pre->next即可。当其中有一条链表被访问完,结束循环,找出该链表,将其接在新链表的后面即可。

/**
* 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)
{
ListNode *newList=new ListNode(-);
ListNode *pre=newList;
while(l1&&l2)
{
if(l1->val > l2->val)
{
pre->next=l2;
l2=l2->next;
}
else
{
pre->next=l1;
l1=l1->next;
}
pre=pre->next;
}
if(l1)
pre->next=l1;
else
pre->next=l2; return newList->next;
}
};

最新文章

  1. iOS开发UI篇—使用storyboard创建导航控制器以及控制器的生命周期
  2. 为什么要设置getter和setter?
  3. JavaScript原生DOM操作API总结
  4. 夺命雷公狗---Thinkphp----11之管理员的增删改查的完善
  5. vagrant
  6. centOS学习part3:远程工具VNC的安装与配置
  7. php实现比较两个字符串日期大小的方法
  8. 001.为什么选择用AngularJs开发?
  9. 1206: B.求和
  10. ORACLE告警日志
  11. DLL中传递STL参数,vector对象作为dll参数传递等问题(转)
  12. 我经历的IT公司面试及离职感受(转)
  13. JMeter命令行方式运行时动态设置线程数及其他属性(动态传参)
  14. java的finalize()方法与C++的析构函数
  15. openGL实现图形学扫描线种子填充算法
  16. bzoj2054疯狂的馒头——线段树
  17. 关闭pycharm自动更新
  18. Codeforces Beta Round #72 (Div. 2 Only)
  19. Java基础加强之并发(一)基本概念介绍
  20. 【译】SSH隧道:本地和远程端口转发

热门文章

  1. MIP缓存加速原理 MIP不仅仅只是CDN
  2. wamp2.5怎么设置虚拟域名
  3. Python3爬虫(一)HTTP相关基础
  4. WPF 构建无外观(Lookless)控件
  5. I两种冒泡算法
  6. linux shell中读写操作mysql数据库
  7. AV Foundation 实现文字转语音
  8. win10子系统Ubuntu18.04下安装图形界面
  9. Qt Qwdget 汽车仪表知识点拆解1 速度表示
  10. Qt 实现脉搏检测-2,简陋的功能产品