🍎 题目汇总
701. 二叉搜索树中的插入操作(找到满足条件的叶子节点截形插值操作)
98. 验证二叉搜索树(关键是和双亲比)
530. 二叉搜索树的最小绝对差(升序数组,最小绝对值差一定在相邻两个元素之间,中序遍历保留单调性)
小结:参考
🍎 具体详解
1)问题描述
2)分析
分析思路
3)代码实现
代码实现
1)问题描述
二叉搜索树中的众数问题描述
2)分析
方法一:中序遍历二叉搜索树,其结果保留了单调性,因此可以通过中序遍历来实现(代码实现)
方法二:沿用一思路,为了节省空间(o(1)效果),关键是找到当前节点的前驱和后继。对于中序遍历来说,某棵(子)树的“根节点”的前驱一定位于左孩子的某个位置上,后继显然就是右孩子了。如果没有右孩子,就把当前节点当作“前驱”存储起来【联想链表】。(代码实现)
1)问题描述
寻找共同祖先问题描述
2)分析(参考)
最近公共祖先的定义: 设节点 root为节点 p, q的某公共祖先,若其左子节点 root.left 和右子节点 root.right都不是 p,q的公共祖先,则称 root是 “最近的公共祖先” 。
祖先的定义
实例
3)代码实现
寻找最近共同祖先代码实现