朴素算法Bare Algo

二叉树

二叉树遍历、BST构造及最近公共祖先。

算法题

(17)

第 1 阶段:先把遍历和基础递归打牢

从深度、层序、翻转、平衡和对称这些题入手,把 DFS、BFS、递归返回值和左右子树关系练熟。

104. 二叉树的最大深度

简单
树深度优先搜索广度优先搜索

94. 二叉树的中序遍历

简单
栈树深度优先搜索

102. 二叉树的层序遍历

中等
树广度优先搜索

226. 翻转二叉树

简单
树深度优先搜索广度优先搜索

110. 平衡二叉树

简单
树深度优先搜索

101. 对称二叉树

简单
树深度优先搜索广度优先搜索

543. 二叉树的直径

简单
树深度优先搜索

199. 二叉树的右视图

中等
树深度优先搜索广度优先搜索

第 2 阶段:理解 BST 性质和建树过程

这一阶段围绕二叉搜索树和遍历序列构造展开,重点是利用有序性、区间约束和分治重建树结构。

98. 验证二叉搜索树

中等
树深度优先搜索二叉搜索树

108. 将有序数组转换为二叉搜索树

简单
数组分治树二叉搜索树

230. 二叉搜索树中第 K 小的元素

中等
树深度优先搜索二叉搜索树

105. 从前序与中序遍历序列构造二叉树

中等
树数组哈希表分治

第 3 阶段:处理路径、祖先与树形结构变换

最后进入最近公共祖先、路径和、树转链表和序列化这类综合题,要求同时掌握状态设计、结构修改和全局最优。

236. 二叉树的最近公共祖先

中等
树深度优先搜索

114. 二叉树展开为链表

中等
树深度优先搜索栈链表

437. 路径总和 III

中等
树深度优先搜索前缀和

124. 二叉树中的最大路径和

困难
树深度优先搜索动态规划

297. 二叉树的序列化与反序列化

困难
树设计字符串深度优先搜索广度优先搜索