代码随想录day19 二叉搜索树的最小绝对差 | 二叉搜索树中的众数 | 二叉树的最近公共祖先
二叉搜索树的最小绝对差
解题思路
使用二叉搜索树的时候记住他就是一个从小到大的有序数组,然后最小的绝对差则是会出现两两节点的差之间。
知识点
二叉搜索树
心得
一开始做没想到最小绝对差只需要前一个节点减后一个节点的结果。
二叉搜索树中的众数
解题思路
通用解法是使用哈希表记录数的出现次数,然后找到最大出现次数,再通过最大出现次数得到值。但是二叉搜索树有一个巧妙的解法,因为二叉搜索树本质是一个有序数组,所以我们记录值相等的节点并比较其出现的次数即可。注意当最大出现次数发生更改时需要清空之前存的数据
知识点
哈希表,二叉搜索树
心得
用通用解法做了出来,没想到利用二叉搜索树的特性
二叉树的最近公共祖先
解题思路
用后序遍历,先寻找对应的节点,如果它们是同一个父节点则不断返回该父节点,如果它们不是同一个父节点,则判断返回值是否为NULL,将其中不为NULL的返回值返回,随后将节点进行回溯即可
知识点
二叉树,后序遍历
心得
难,看了题解才做出来。