二叉树part08
LC235二叉搜索的最近公共祖先(未掌握)
- 未掌握分析:对于使用二叉搜索树的特性来找最近公共祖先不够熟练。
- 因为是二叉搜索树,因此最近公共祖先一定是第一次遇到 cur节点是数值在[q, p]区间中的节点
- 递归终止条件:if(root==null) return root;
- 单层递归的逻辑:一共有三种可能
- root就是最近公共祖先
- root.left分支中存在最近公共祖先
- root.right分支中存在最近公共祖先
- 代码
LC701二叉搜索树中的插入操作
LC450删除二叉搜索树中的节点(超时5min)
-
超时原因分析:没有考虑清楚递归函数的返回值含义,递归函数返回值是指删除了指定节点的子树根节点
- 当root.val==key
- 如果左为空右不为空或者右为空左不为空,直接return 不为空的节点即可
- 左右均不为空再执行操作
- 当root.val==key
-
原来代码
-
改进的代码