美文网首页
36.合并两个有序列表

36.合并两个有序列表

作者: vbuer | 来源:发表于2018-09-04 09:39 被阅读5次

尾递归

def _recursion_merge_sort2(l1, l2, tmp):
    if len(l1) == 0 or len(l2) == 0:
        tmp.extend(l1)
        tmp.extend(l2)
        return tmp
    else:
        if l1[0] < l2[0]:
            tmp.append(l1[0])
            del l1[0]
        else:
            tmp.append(l2[0])
            del l2[0]
        return _recursion_merge_sort2(l1, l2, tmp)

def recursion_merge_sort2(l1, l2):
    return _recursion_merge_sort2(l1, l2, [])

循环算法

思路:

  • 定义一个新的空列表
  • 比较两个列表的首个元素
  • 小的就插入到新列表里
  • 把已经插入新列表的元素从旧列表删除
  • 直到两个旧列表有一个为空
  • 再把旧列表加到新列表后面
def loop_merge_sort(l1, l2):
    tmp = []
    while len(l1) > 0 and len(l2) > 0:
        if l1[0] < l2[0]:
            tmp.append(l1[0])
            del l1[0]
        else:
            tmp.append(l2[0])
            del l2[0]
    tmp.extend(l1)
    tmp.extend(l2)
    return tmp

pop弹出

a = [1,2,3,7]
b = [3,4,5]

def merge_sortedlist(a,b):
    c = []
    while a and b:
        if a[0] >= b[0]:
            c.append(b.pop(0))
        else:
            c.append(a.pop(0))
    while a:
        c.append(a.pop(0))
    while b:
        c.append(b.pop(0))
    return c
print merge_sortedlist(a,b)

相关文章

  • 36.合并两个有序列表

    尾递归 循环算法 思路: 定义一个新的空列表 比较两个列表的首个元素 小的就插入到新列表里 把已经插入新列表的元素...

  • 2018-12-26

    问题列表 合并两个有序链表 合并K个排序链表 合并区间 插入区间 问题与反馈 总结与收获 多个有序链表的合并,类似...

  • 两个有序的链表合并

    两个有序的列表合并,合并后的链表仍旧保持有序;L1: 1=>3=>4=>7=>8L2: 1=>2=>5=>6合并后...

  • 给定两个有序列表,大小分别为m和n。给出一个算法,以O(logn

    题目 给定两个有序列表,大小分别为m和n。给出一个算法,以O(logn+logm)时间找出两个列表合并后的有序列表...

  • 合并两个有序列表

    题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输...

  • 23. 合并K个排序链表

    自己解法 合并K个有序列表,和21题合并两个有序链表思路类似,这个题最开始想偏了,想比较每个链表的头结点,然后后移...

  • leecode刷题(23)-- 合并两个有序链表

    leecode刷题(23)-- 合并两个有序链表 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新...

  • 合并两个有序数组(C)

    合并两个有序数组,合并完之后仍有序:

  • 合并单链表

    合并两个有序链表非递归实现 合并两个有序链表递归实现

  • ## HTML基础-列表标签/表格标签

    ## HTML基础-列表标签/表格标签 # 列表标签(无序列表/有序列表/定义列表) # 表格标签 # 单元格合并...

网友评论

      本文标题:36.合并两个有序列表

      本文链接:https://www.haomeiwen.com/subject/tczniftx.html