Leetcode 刷题目录


本文为按照labuladong算法小结 自行学习的总结。意为记录自己学习练习的顺序,用于日后回顾浏览。目录中附上各章labuladong的原文链接,并会附上自我练习的代码及理解。

1、数据结构

1.1、链表

1.1.1、单链表的六大解题套路

1、合并两个有序链表:

2、合并K个有序链表:

3、寻找单链表的倒数第K个节点: 

4、寻找单链表的中点:

5、判断单链表是否包含环并找出环起点:、 

6、判断两个单链表是否相交并找出交点:

1.1.2、递归反转链表的一部分

1、反转链表,递归反转链表,反转链表前n,反转链表的一部分:

1.1.3、如何 K 个一组反转链表

1、

1.1.4、如何判断回文链表

1、原始思路

2、进阶思路:

1.1.5、个人补充

 1.2、二叉树

1.2.1、纲领篇

介绍二叉树前中后序遍历的基本框架和解题思路:、 

1.2.2、二叉树一

  •  介绍二叉树的递归写法
  • 算法试炼:

1.2.3、二叉树二

1.2.4、二叉树三

1.2.5、二叉搜索树一

  • 内容:利用二叉搜索树中序遍历有序的特性,正向或者逆向遍历,来进行元素的查找
  • 230. BST第K小的元素(中等): 
  • 538. 二叉搜索树转化累加树(中等):
  • 1038. BST转累加树(中等):

1.2.6、二叉搜索树二

  • 内容:判断 BST 的合法性、增、删、查
  • 题目:450. 删除二叉搜索树中的节点(中等)、701. 二叉搜索树中的插入操作(中等)、700. 二叉搜索树中的搜索(简单)、98. 验证二叉搜索树(中等)
  • 解答: 

1.2.7、二叉搜索树三

  • 内容:构建二叉搜索树,使用递归的方法遍历所有可能的组合。
  • 题目:96. 不同的二叉搜索树(简单);95. 不同的二叉搜索树II(中等)
  • 解法:

1.2.8、美团面试题:二叉树的后续遍历巧妙应用

  • 内容:利用后序遍历可以在处理时获取到所有信息的特性,来避免重复递归。在后序遍历时同时进行bst判断、记录最大最小值、记录累加值
  • 题目:1373. 二叉搜索子树的最大键值和(困难)
  • 解法: