迭代

class Solution {public:TreeNode* insertIntoBST(TreeNode* root, int val) {if(!root) return new TreeNode(val);TreeNode*cur=root;while(cur){if(val<cur->val){if(cur->left)cur=cur->left;else{cur->left=new TreeNode(val);break;}}else if(val>cur->val){if(cur->right)cur=cur->right;else{cur->right=new TreeNode(val);break;}}}return root;}
};

递归

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

END

leetcode 701 二叉搜索树的插入操作 C++ 递归和迭代相关推荐

  1. LeetCode 235. 二叉搜索树的最近公共祖先(递归)

    题目描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 x,满足 x 是 p ...

  2. 二叉搜索树的插入与删除图解

    =================================================================== 一.二叉搜索树(BSTree)的概念        二叉搜索树又 ...

  3. 二叉搜索树的插入、删除、修剪、构造操作(leetcode701、450、669、108)

    目录 1.leetcode 701. 二叉搜索树中的插入操作 1.题目 2.递归法 3.迭代法 2.leetcode 450. 二叉搜索树中的插入操作 1.题目 2.思路+递归法 3.迭代法 4.删除 ...

  4. leetcode 530. 二叉搜索树的最小绝对差(Java版)

    题目 https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst/ 题解 中序遍历法. 本题要求二叉搜索树任意两节点差的绝对 ...

  5. leetcode 235. 二叉搜索树的最近公共祖先(Java版,树形dp套路)

    题目 原题地址:leetcode 235. 二叉搜索树的最近公共祖先 说明: 所有节点的值都是唯一的. p.q 为不同节点且均存在于给定的二叉搜索树中. 题解 关于 树形dp 套路,可以参考我的另一篇 ...

  6. 二叉搜索树(创建,插入,删除):基础篇,适合新手观看。

    1.1 二叉搜索树的插入 二叉搜索树的概念相信大家都很清楚,无非就是左小右大 创建二叉搜索树,其实就是多次调用二叉搜索树的插入方法,所以首先我们来讲讲如何插入节点到二叉搜索树里,假设一颗二叉搜索树如下 ...

  7. [剑指offer]面试题第[68-2]题[Leetcode][第236题][JAVA][二叉搜索树的最近公共祖先][递归]

    [问题描述][中等] 235/68-1 搜索二叉树 236/68-2 二叉树 [解答思路] 递归 时间复杂度:O(N) 空间复杂度:O(N) 情况 1. , 2. , 3. , 4. 的展开写法如下. ...

  8. 70. Leetcode 701. 二叉搜索树中的插入操作 (二叉搜索树-基本操作类)

    给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树. 返回插入后二叉搜索树的根节点. 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同.注意,可能 ...

  9. LeetCode 701. 二叉搜索树中的插入操作(二叉查找树/插入)

    1. 题目 给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树. 返回插入后二叉搜索树的根节点. 保证原始二叉搜索树中不存在新值. 注意,可能存在多种有效的插入方式,只要树在插入后仍 ...

最新文章

  1. VS2010去掉每次全部编译
  2. mysql数据库查询缓存_MySQL查询缓存与数据库管理
  3. 课后作业-阅读任务-阅读笔记
  4. adb实时获取屏幕_实时数仓 | 你需要的是一款合适且强大的OLAP数据库(上)
  5. 如何快速实现Mathematica和Mathtype之间的切换
  6. 印度程序员为什么牛掰之ISAS.激发人的兴趣.探索精神.
  7. Error message IBase category does not exist in table T371A
  8. Pandas 文本数据方法 get_dummies()
  9. mixins,generics(ApiView)
  10. 使用RabbitMQ做的一些工作及经验教训
  11. Freeswitch在内网,由服务器防火墙映射出来,IMSDROID作为被叫的问题
  12. ( vscode中文版 ) 怎么快速打开vscode settings.json文件
  13. 我的八年博士生涯——CMU王赟写在入职Facebook之前
  14. C++机器学习经典资料
  15. 使用L-Edit画环形光栅
  16. python中keys函数怎么用_Python keys()函数
  17. [Excel函数] COUNT函数 | COUNTIF函数 | COUNTIFS函数
  18. python微信好友分析源代码_Python简单分析微信好友
  19. 计算机单元格选项,如何在excel单元格里设置下拉选项
  20. 25个常用的防火墙规则

热门文章

  1. 前端学习(758):预解析二
  2. 前端学习(642):字面量
  3. 前端学习(512):两列布局的第一种方式的优缺点
  4. 项目管理(5):备战pmp
  5. CSS之创建等高列布局之一
  6. 操作系统进程学习(Linux 内核学习笔记)
  7. 用python画统计图表_Python数据科学(九)- 使用Pandas绘制统计图表
  8. 正弦定理和余弦定理_那些让你加快解题速度的高中数学公式-26 利用三正弦、三余弦定理快速解题...
  9. 数据库5 索引 动态哈希(Dynamic Hashing)
  10. 【C++ 学习笔记】 MFC CEdit