leetcode 701 二叉搜索树的插入操作 C++ 递归和迭代
迭代
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++ 递归和迭代相关推荐
- LeetCode 235. 二叉搜索树的最近公共祖先(递归)
题目描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 x,满足 x 是 p ...
- 二叉搜索树的插入与删除图解
=================================================================== 一.二叉搜索树(BSTree)的概念 二叉搜索树又 ...
- 二叉搜索树的插入、删除、修剪、构造操作(leetcode701、450、669、108)
目录 1.leetcode 701. 二叉搜索树中的插入操作 1.题目 2.递归法 3.迭代法 2.leetcode 450. 二叉搜索树中的插入操作 1.题目 2.思路+递归法 3.迭代法 4.删除 ...
- leetcode 530. 二叉搜索树的最小绝对差(Java版)
题目 https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst/ 题解 中序遍历法. 本题要求二叉搜索树任意两节点差的绝对 ...
- leetcode 235. 二叉搜索树的最近公共祖先(Java版,树形dp套路)
题目 原题地址:leetcode 235. 二叉搜索树的最近公共祖先 说明: 所有节点的值都是唯一的. p.q 为不同节点且均存在于给定的二叉搜索树中. 题解 关于 树形dp 套路,可以参考我的另一篇 ...
- 二叉搜索树(创建,插入,删除):基础篇,适合新手观看。
1.1 二叉搜索树的插入 二叉搜索树的概念相信大家都很清楚,无非就是左小右大 创建二叉搜索树,其实就是多次调用二叉搜索树的插入方法,所以首先我们来讲讲如何插入节点到二叉搜索树里,假设一颗二叉搜索树如下 ...
- [剑指offer]面试题第[68-2]题[Leetcode][第236题][JAVA][二叉搜索树的最近公共祖先][递归]
[问题描述][中等] 235/68-1 搜索二叉树 236/68-2 二叉树 [解答思路] 递归 时间复杂度:O(N) 空间复杂度:O(N) 情况 1. , 2. , 3. , 4. 的展开写法如下. ...
- 70. Leetcode 701. 二叉搜索树中的插入操作 (二叉搜索树-基本操作类)
给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树. 返回插入后二叉搜索树的根节点. 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同.注意,可能 ...
- LeetCode 701. 二叉搜索树中的插入操作(二叉查找树/插入)
1. 题目 给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树. 返回插入后二叉搜索树的根节点. 保证原始二叉搜索树中不存在新值. 注意,可能存在多种有效的插入方式,只要树在插入后仍 ...
最新文章
- VS2010去掉每次全部编译
- mysql数据库查询缓存_MySQL查询缓存与数据库管理
- 课后作业-阅读任务-阅读笔记
- adb实时获取屏幕_实时数仓 | 你需要的是一款合适且强大的OLAP数据库(上)
- 如何快速实现Mathematica和Mathtype之间的切换
- 印度程序员为什么牛掰之ISAS.激发人的兴趣.探索精神.
- Error message IBase category does not exist in table T371A
- Pandas 文本数据方法 get_dummies()
- mixins,generics(ApiView)
- 使用RabbitMQ做的一些工作及经验教训
- Freeswitch在内网,由服务器防火墙映射出来,IMSDROID作为被叫的问题
- ( vscode中文版 ) 怎么快速打开vscode settings.json文件
- 我的八年博士生涯——CMU王赟写在入职Facebook之前
- C++机器学习经典资料
- 使用L-Edit画环形光栅
- python中keys函数怎么用_Python keys()函数
- [Excel函数] COUNT函数 | COUNTIF函数 | COUNTIFS函数
- python微信好友分析源代码_Python简单分析微信好友
- 计算机单元格选项,如何在excel单元格里设置下拉选项
- 25个常用的防火墙规则
热门文章
- 前端学习(758):预解析二
- 前端学习(642):字面量
- 前端学习(512):两列布局的第一种方式的优缺点
- 项目管理(5):备战pmp
- CSS之创建等高列布局之一
- 操作系统进程学习(Linux 内核学习笔记)
- 用python画统计图表_Python数据科学(九)- 使用Pandas绘制统计图表
- 正弦定理和余弦定理_那些让你加快解题速度的高中数学公式-26 利用三正弦、三余弦定理快速解题...
- 数据库5 索引 动态哈希(Dynamic Hashing)
- 【C++ 学习笔记】 MFC CEdit