题意:

  将两个有序的链表归并为一个有序的链表。

思路:

  设合并后的链表为head,现每次要往head中加入一个元素,该元素要么属于L1,要么属于L2,可想而知,此元素只能是L1或者L2的首个元素,那么进行一次比较就可以知道是谁了。操作到L1或L2其中一个已经没有元素为止,剩下的直接加到head后面。

 /**
* 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==) return l2;
if(l2==) return l1;
ListNode *start=,*end=;
if(l1->val<l2->val){
start=end=l1;
l1=l1->next;
}
else{
start=end=l2;
l2=l2->next;
}
while(l1!=&&l2!=){
if(l1->val<l2->val){
end->next=l1;
l1=l1->next;
}
else{
end->next=l2;
l2=l2->next;
}
end=end->next;
}
if(l1==)
end->next=l2;
else
end->next=l1;
return start;
}
};

AC代码

python3

 # Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None class Solution(object):
def mergeTwoLists(self, l1, l2):
"""
:type l1: ListNode
:type l2: ListNode
:rtype: ListNode
"""
head=cur=ListNode(0)
while l1 and l2:
if l1.val<l2.val: cur.next, l1=l1, l1.next
else: cur.next, l2=l2, l2.next
cur=cur.next
if l1: cur.next=l1
if l2: cur.next=l2
return head.next

AC代码

最新文章

  1. php链接数据库 批量删除 和 注册审核
  2. JavaScript类型判断instanceof与typeof对比
  3. 比较常用到的一些linux命令行
  4. jQuery8种不同的瀑布流懒加载loading效果
  5. 转载: Emmet:HTML/CSS代码快速编写神器
  6. ios8 滚动事件解放了
  7. LeetCode Question Difficulty Distribution
  8. pajax
  9. [iOS 多线程 &amp; 网络 - 2.4] - 大文件下载 (边下边写/暂停恢复下载/压缩解压zip/多线程下载)
  10. Ember.js demo2
  11. 小脚本一则---CDH的批量部署中,如果是从ESXI的VCENTER的模板生成的虚拟机,如何快速搞定网络网络卡配置?
  12. 执行引擎子系统——JVM之五
  13. ThinkPHP 的模型使用对数据库增删改查(五)
  14. Oracle SQL Lesson (10) - 使用DDL语句创建和管理表
  15. 《Java2 实用教程(第五版)》学习指导
  16. 配置notepad++支持golang开发
  17. UEP-添加
  18. setTimeout setInterval 计时器
  19. 二、Python发展始
  20. js长整型的失真问题解决

热门文章

  1. Android xUtils框架(一) DbUtils
  2. Netty 线程模型与Reactor 模式
  3. C#面向对象三大特性之二:继承
  4. MongoDB--副本集基本信息【面试必备】
  5. 51nod1064(Bash博弈)
  6. 51nod1042(0-x出现次数&amp;分治)
  7. 洛谷P1800 software_NOI导刊2010提高(06)
  8. bzoj2597: [Wc2007]剪刀石头布(费用流)
  9. Java local 转UTC时间
  10. leetcode--Learn one iterative inorder traversal, apply it to multiple tree questions (Java Solution)