530.二叉搜索树的最小绝对差
- 利用二叉搜索树特性,通过中序遍历数组,再依次求差值
- 二叉树上的双指针,在中序遍历时用
pre
记录前一个节点,处理中间节点时,不再是压入vector数组,而是直接计算差值
501.二叉搜索树中的众数
- 递归,用中序遍历+双指针
- 拓展:
- 不是二叉搜索树怎么做:先把树遍历一遍;再用map统计频率;最后对频率排序取高频元素
236. 二叉树的最近公共祖先
- 最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”
- 没什么思路
- 先找到p、q,后序遍历+回溯,若子树中存在p/q,再返回节点;当左右子树都存在返回时,当前节点就是最近公共祖先
- 若节点是p/q,也是公共祖先时,要一起处理