美文网首页
链表类-leetcode刷题总结

链表类-leetcode刷题总结

作者: jackben | 来源:发表于2019-05-13 16:32 被阅读0次

    我一直认为做任何事情,无论是做一个项目, 读一本书,学习某个知识点, 都是需要总结的。 总结意味着对整个过程做一次全面的梳理和反省, 这样才能走得更远。  做完这些总结后,  想忘掉这些知识都很困难。对于leetcode题目, 对于每一类题目做一个总结, 总结的内容主要包括 题目分类, 做题心得, 做题过程中采过的坑

    先从题目类型入手

    链表元素的调整

    此类型最经典的题目就是链表的反转, 61  Rotate List

    基于此题目可以做很多变化

    相邻的两个元素为一组,对每组做反转,24 Swap Nodes in Pairs

    相邻的k个元素为一组,对每组做反转,25 Reverse Nodes in k-Group

    对指定连续元素做反转, 92 Reverse Linked List II

    此类别相关的题目:

    143 Reorder List

    86 Partition List, 快速排序的基本思想之一,这里只是要求基于链表实现。 

    对于此类题目,基本上都可以用递归来实现, 递归实现非常简单和优雅 递归函数的返回值基本都为链表头 和 链表尾元素(用于链表的连接)

    链表合并

    链表的合并也是合并排序的基础, 最简单的是2个已排序链表的合并,可以扩展到3个链表的合并和k个链表的合并。k个链表的实现可以基于最小堆实现, 降低时间复杂度。

    21 Merge Two Sorted Lists

    23 Merge k Sorted Lists

    148 Sort List, 这一题可以用归并排序完成, 会用到 Merge Two Sorted Lists


    会持续的补充。。。。 

    相关文章

      网友评论

          本文标题:链表类-leetcode刷题总结

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