美文网首页
TOP HOT 100 题

TOP HOT 100 题

作者: 灰化肥发黑会挥发 | 来源:发表于2020-07-18 11:08 被阅读0次

23. 合并多个排序链表:https://leetcode-cn.com/problems/merge-k-sorted-lists/

这道题其实比较简单,关键是掌握堆和分治法, 写分治法的时候,涉及到递归,这块是我的一个弱项,一开始没写出来,分治法模板可以参考一下:

class Solution(object):
    def mergeKLists(self, lists):
        """
        :type lists: List[ListNode]
        :rtype: ListNode
        """
        return self.helper(0, len(lists), lists)
    # 分治法合并
    def helper(self, start, end, lists):
        if start == end:
            return lists[start]
        mid = start + (end - start) / 2
        left = self.helper(start, mid, lists)
        right = self.helper(mid+1, end, lists)
        return self.mergeTwoSortLists(left, right)

    def mergeTwoSortLists(self, list1, list2):
        '''
        @description: 合并两个排序链表
        @param {type} 
                list1: <ListNode>
                list2: <ListNode>
        @return: 
                result: <ListNode, 排序好的合并链表>
        @author: zhangzhen20
        '''  
        dummy = listNode(-1)
        cur = dummy
        while list1 and list2:
            if list1.val < list2.val:
                cur.next = list1
                list1 = list1.next
            else:
                cur.next = list2
                list2 = list2.next

        if list1 is None:
            cur.next = list2
        else:
            cur.next = list1

        return dummy.next

相关文章

  • TOP HOT 100 题

    23. 合并多个排序链表:https://leetcode-cn.com/problems/merge-k-sor...

  • 两数的和,链表

    hot 100 meddium 1. 第二题 两数字相加 见原题:https://leetcode-cn.com/...

  • 字符串中无重复字符的最长子串

    hot 100 meddium 1. 第3题 3. 无重复字符的最长子串 见原题:https://leetcode...

  • LeetCode Top 100 高频算法题 07:11. Co

    LeetCode Top 100高频算法题,即LeetCode上最高频的100道求职面试算法题。小编和实验室同学之...

  • 热题HOT 100(11-20)

    11.给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。 整体思路是将...

  • 热题HOT 100(51-60)

    51.编写一个程序,找到两个单链表相交的起始节点。 双指针法1.创建两个指针 pA和 pB,分别初始化为链表 A ...

  • 热题HOT 100(61-70)

    61.请判断一个链表是否为回文链表。 简单想法,找到中点,翻转后面的链表,对比两边是否一样!比如[1, 2, 2,...

  • 热题HOT 100(41-50)

    41.给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 但是下面这...

  • 热题HOT 100(81-90)

    81.给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的...

  • 热题HOT 100(31-40)

    31.给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。你...

网友评论

      本文标题:TOP HOT 100 题

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