DAY17

42 阅读1分钟

第六章 二叉树part06

详细布置

530.二叉搜索树的最小绝对差

需要领悟一下二叉树遍历上双指针操作,优先掌握递归

题目链接/文章讲解:programmercarl.com/0530.%E4%BA…

视频讲解:www.bilibili.com/video/BV1DD…

501.二叉搜索树中的众数

和 530差不多双指针思路,不过 这里涉及到一个很巧妙的代码技巧。

可以先自己做做看,然后看我的视频讲解。

programmercarl.com/0501.%E4%BA…

视频讲解:www.bilibili.com/video/BV1fD…

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

本题其实是比较难的,可以先看我的视频讲解

programmercarl.com/0236.%E4%BA…

视频讲解:www.bilibili.com/video/BV1jd…

回溯归纳如下三点

  1. 求最小公共祖先,需要从底向上遍历,那么二叉树,只能通过后序遍历(即:回溯)实现从底向上的遍历方式。
  2. 在回溯的过程中,必然要遍历整棵二叉树,即使已经找到结果了,依然要把其他节点遍历完,因为要使用递归函数的返回值(也就是代码中的left和right)做逻辑判断。
  3. 要理解如果返回值left为空,right不为空为什么要返回right,为什么可以用返回right传给上一层结果。