代码随想录算法训练营第二十二天| 235. 二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作 、450.删除二叉搜索树中的节点

 235. 二叉搜索树的最近公共祖先

利用二叉树有序特点,中节点的数组 一定是在 [p, q]区间的

递归三部曲:

确定递归函数返回值以及参数

参数就是当前节点,以及两个结点 p、q。

返回值是要返回最近公共祖先,所以是TreeNode * 

确定终止条件

遇到空返回

确定单层递归的逻辑

如果 cur->val 大于 p->val,同时 cur->val 大于q->val,那么就应该向左遍历


701.二叉搜索树中的插入操作 

递归三部曲:

确定递归函数参数以及返回值

参数就是根节点指针,以及要插入元素,返回值给root操作

确定终止条件

终止条件就是找到遍历的节点为null的时候,就是要插入节点的位置了,并把插入的节点返回。

确定单层递归的逻辑

根据插入元素的数值,决定左递归还是右递归

if(root->val>val)root->left=insertIntoBST(root->left,val);if(root->val<val)root->right=insertIntoBST(root->right,val);returnroot;


450.删除二叉搜索树中的节点

树删除有点难,暂时挂起

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容