当前位置: 首页 > news >正文

二叉搜索树的插入操作(递归遍历)

 701. 二叉搜索树中的插入操作 - 力扣(LeetCode)

class Solution {
public:TreeNode* insertIntoBST(TreeNode* root, int val) {if(root==NULL){TreeNode*node=new TreeNode(val);return node;}if(val<root->val){root->left=insertIntoBST(root->left,val);}if(val>root->val){root->right=insertIntoBST(root->right,val);}return root;}
};

由于二叉搜索树本身的性质,在进行插入节点的时候,可以将节点都同意插入到叶子节点上。

从根节点开始向下遍历,如果遍历到的节点值大于目标值,则向左子树遍历;如果遍历到的节点值小于目标值,则向右子树遍历。

终止条件判断:如果遍历到的节点为空,说明遍历到的上一层节点为叶子节点,所以要将目标值定义成新节点再返回给上一层的那个节点,在最后返回的结果才能完整。

        if(root==NULL){TreeNode*node=new TreeNode(val);return node;}

http://www.xdnf.cn/news/349633.html

相关文章:

  • 力扣-142.环形链表II
  • 引文索引数据库在科研中的应用
  • 问题 | 低空经济未来发展前景机遇及挑战
  • BFS算法的学习
  • 腾讯云:数字世界的“量子熔炉”与硅基文明引擎​
  • 数据结构-堆排序
  • Houdini 深圳实操交流会!即将开幕
  • 代码随想录第39天:单调栈
  • VBA经典应用69例应用8:利用VBA,完成自动运行任务的预设
  • xiaopiu原型设计工具笔记
  • Windows 环境变量完全指南:系统变量、用户变量与 PATH 详解
  • 在不同环境下部署和运行基于后量子密码的轻量级通信协议的详细指南
  • pm2如何执行脚本批量启动多个服务
  • 认识守卫-以及简单的示例和装饰器
  • Java网络编程:理解URI、URL和URN
  • python线上学习进度报告
  • Android13 权限管理机制整理
  • 308.旅行终点站
  • 正点原子IMX6U开发板移植Qt时出现乱码
  • 什么是死信队列?死信队列是如何导致的?
  • TLS 1.3:一把打不开旧锁的新钥匙,为何难成主流?
  • Blind SSRF with Shellshock exploitation过关
  • [人机交互]以用户为中心的交互设计
  • 基于译码器和锁存器的运行逻辑的简易算法
  • 算法解密:轮转数组问题全解析
  • 多源地震资料处理中的震源信号分离算法资料
  • Java内存分配
  • 【git】git fsmonitor
  • 第四章:基于langchain构造一个完整RAG系统
  • 移动端返回指定页面