530.二叉搜索树的最小绝对差
思路:
首先明确二叉搜索树是有序的,则可以构建有序数组,遍历数据取差值最小的记录
使用中序递归
501.二叉搜索树中的众数
思路:
如果使用hashMap记录出现次数,那比较简单
看完随想录:
遍历有序数组的元素出现频率,从头遍历,那么一定是相邻两个元素作比较,然后就把出现频率最高的元素输出
弄一个指针指向前一个节点,这样每次cur(当前节点)才能和pre(前一个节点)作比较。
而且初始化的时候pre = NULL,这样当pre为NULL时候,我们就知道这是比较的第一个元素
236. 二叉树的最近公共祖先
递归三部曲:
确定递归函数返回值以及参数
需要递归函数返回值,来告诉我们是否找到节点q或者p,那么返回值为bool类型就可以了。
确定终止条件
遇到空的话,因为树都是空了,所以返回空
确定单层递归逻辑
值得注意的是 本题函数有返回值,是因为回溯的过程需要递归函数的返回值做判断,但本题我们依然要遍历树的所有节点
核心是回溯,代码看起来还是比较简单,思考过程有点想不到。
网友评论