缺什么补什么:别在二叉树上只会背概念

很多转岗或查漏补缺的开发者,提到二叉树往往只能背出“先根、中根、后根”的顺序,一上键盘就卡壳。这门课专门收拾这种烂摊子,它不跟你讲虚头巴脑的语法历史,而是直接把二叉树拆成十几个高频考点,逼你用代码实现。如果你连结构体指针都写不明白,建议先去补基础语法再来看;如果你已经能写简单的链表,但一遇到递归就脑子乱、看到非递归遍历里用栈就发懵,那这门课正好补你的能力缺口。它解决的核心问题是:把笔试和面试里最常考的二叉树套路,从理论概念变成你能默写出来的肌肉记忆。

建议先啃哪几块:从遍历到结构判定

资料里的内容环环相扣,别跳着看。第一块必须死磕前几讲的遍历体系,包括先序、中序、后序的递归与非递归写法,以及层序遍历。非递归那几段是核心,别偷懒只记递归,手写非递归才是检验你是否真懂栈和指针配合的试金石。第二块重点看结构判定类内容,比如判断是否为完全二叉树、是否平衡、两棵树结构是否相同。这几节会逼你把边界条件想清楚,空指针怎么处理、返回值怎么往上传递,这些细节正是很多人实际写代码时漏掉的地方。第三块挑特征计算类来看,比如求每层节点数、最大距离、最小公共祖先。这部分练的是怎么在遍历过程中携带状态,把树形递归变成具体算法逻辑。至于由先序和中序重建二叉树那节,务必手推几遍样例,理解下标映射关系,这是经典考题。

学完能干什么:脱离答案独立调错

看完这些资料,你应该能独立完成以下任务:拿到一棵二叉树的题目,能迅速判断用哪种遍历方式做底层框架;写完代码后能自己构造测试样例去跑,而不是盯着屏幕猜哪里报错。比如要求找一条根到叶子节点和为特定值的路径,你得能自己把递归回溯的代码敲出来,并且知道怎么把路径打印出来。资料里的练习配合方式很直接:每看完一个算法实现,立刻关掉视频,自己新建文件从头写一遍。遇到卡壳的地方,先别急着倒回去看,自己单步调试,看指针到底指到了哪里。只有当你把判断单枝树、翻转二叉树、查找树转双向链表这些题都能独立写出且跑通测试用例,才算把这盘散沙捏成了实打实的能力。别假装什么都会,代码跑通才算数。

课程目录

1 01.二叉树显示以及中序递归非递归 (01:01:00)
2 02.二叉树先序后序递归非递归 (23:56)
3 03.叶子高度层数层遍历 (33:31)
4 04.二叉树节点数 (03:07)
5 05.判断单枝二叉树 (19:49)
6 06.二叉树是否完全二叉树 (10:59)
7 07.二叉树最小公共祖先 (29:37)
8 08.二叉树翻转景象 (05:15)
9 09.二叉树求每层节点个数 (08:49)
10 10.二叉树判断结构是否相同 (07:01)
11 11.二叉树求最大距离 (16:38)
12 12.二叉树是否平衡树 (15:13)
13 13.二叉查找树转链表 (26:52)
14 14.二叉树先序中序创建二叉树 (35:01)
15 15.要求叶子节点到根节点的值和为14的路径 (12:53)
16 16.寻找左兄弟 (06:29)