1. 235. 二叉搜索树的最近公共祖先
二叉搜索树自带方向性,如果是二叉搜索树的最近公共祖先,他的值必定满足在p和q之间.所以单层的逻辑都是在判断当前节点的值,在区间左边就去node.left;在右边就去node.right.
2. 701.二叉搜索树中的插入操作
按照规则递归,碰到空节点就新建.
- 点在于要建变量来存返回的值,这样才能和父节点联系起来.
3. 450.删除二叉搜索树中的节点
这情况也太多了,完全不知道从哪下手,
情况分析:
- 没找到该节点
- 删叶子节点
- 节点左不为空,右空.直接让父节点指向其左孩子.
- 节点左空,右不空,直接让父节点指向其右孩子.
- 节点左不空右也不空.可以让右孩子上去,也可以让左孩子上去.重点是策略要统一.
比如让右孩子上去,那左孩子就要成为右孩子节点的左孩子的左孩子