力扣算法题—095不同的二叉搜索树【二叉树】
给定一个整数 n,生成所有由 1 ... n 为节点所组成的二叉搜索树。
示例:
输入: 3 输出: [[1,null,3,2],[3,2,null,1],[3,1,null,null,2],[2,1,3],[1,null,2,null,3] ] 解释: 以上的输出对应以下 5 种不同结构的二叉搜索树:1 3 3 2 1\ / / / \ \3 2 1 1 3 2/ / \ \2 1 2 3
1 class Solution { 2 public: 3 vector<TreeNode *> generateTrees(int n) { 4 if (n == 0) return {}; 5 return *generateTreesDFS(1, n); 6 } 7 vector<TreeNode*> *generateTreesDFS(int start, int end) { 8 vector<TreeNode*> *subTree = new vector<TreeNode*>(); 9 if (start > end) subTree->push_back(NULL); 10 else { 11 for (int i = start; i <= end; ++i) { 12 vector<TreeNode*> *leftSubTree = generateTreesDFS(start, i - 1); 13 vector<TreeNode*> *rightSubTree = generateTreesDFS(i + 1, end); 14 for (int j = 0; j < leftSubTree->size(); ++j) { 15 for (int k = 0; k < rightSubTree->size(); ++k) { 16 TreeNode *node = new TreeNode(i); 17 node->left = (*leftSubTree)[j]; 18 node->right = (*rightSubTree)[k]; 19 subTree->push_back(node); 20 } 21 } 22 } 23 } 24 return subTree; 25 } 26 };
转载于:https://www.cnblogs.com/zzw1024/p/10817005.html
力扣算法题—095不同的二叉搜索树【二叉树】相关推荐
- 刷题记录8---验证二叉搜索树+二叉树的层序遍历+从前序与中序遍历序列构造二叉树+二叉树展开为链表+二叉树的最近公共祖先
前言 所有题目均来自力扣题库中的hot 100,之所以要记录在这里,只是方便后续复习 98.验证二叉搜索树 题目: 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树. 有效 二叉搜 ...
- 力扣算法题—045跳跃游戏二
1 #include "000库函数.h" 2 3 4 //考虑当前最远能到什么地方,例如2, 3, 1, 1, 4, 5 //首先只考虑a[0] = 2,即最远可以到a[2],然 ...
- leetcode算法题--有序链表转换二叉搜索树★
原题链接:https://leetcode-cn.com/problems/convert-sorted-list-to-binary-search-tree/ 1.二分法+递归 TreeNode* ...
- 程序员面试需要刷力扣算法题吗
这里写目录标题 1. 程序员面试需要刷力扣算法题吗 1.1. 算法题的一些特征 1.2. 为什么要考查算法 1.3. 目前面试主要考查 3 类 1. 程序员面试需要刷力扣算法题吗 1.1. 算法题的一 ...
- LeetCode -- 力扣算法题解题心得 -- (个人笔记记录)持续更新~~
一.前言 正式开启数据结构+算法研究的历程,准备好一年后的面试.下面的解法不一定是最优解,只求能力提升,会定期更新~~ 二.目录 1 2 19 20 21 24 35 42 83 86 94 96 1 ...
- 【算法】有序链表转换二叉搜索树和从中序与后序遍历序列构造二叉树Java解答参考
三道算法题 1.有序链表转换二叉搜索树 Java代码参考 2.从中序与后序遍历序列构造二叉树 Java代码参考 3.移除元素 Java代码参考 1.有序链表转换二叉搜索树 给定一个单链表,其中的元素按 ...
- 20200721:每日一题之不同的二叉搜索树 II(leetcode95)
不同的二叉搜索树 II 题目 思路与算法 代码实现 复杂度分析 题目 思路与算法 很基本的思路就是递归,没太多其他想法,直接根据二叉搜索树的性质进行递归即可. 代码实现 class Solution ...
- 算法导论笔记:12二叉搜索树
1:概念 二叉搜索树也叫二叉排序树,它支持的操作有:SEARCH, MINIMUM, MAXIMUM, PREDECESSOR, SUCCESSOR, INSERT, DELETE.所以,一颗二叉搜索 ...
- 动态规划最优二叉搜索树C语言,算法 – 动态规划:最优二叉搜索树
好吧,我希望有人可以向我解释一下.我正在攻读决赛,我无法解决问题. 问题是动态编程;构造最优二叉搜索树(OBST).我理解一般的动态编程和特别是这个问题的概念,但我不明白这个问题的递归形式. 我得到的 ...
最新文章
- leangoo领歌看板工具新增任务到期提醒功能
- python进行linux编程,Python之函数进阶
- Docker通过Cgroup 资源配置
- 17款开源论坛系统/Forum Software(转载)
- TC的文件拷贝/移动
- python3安装包是说解压数据出错怎么办_无法修复“zipimport.zipimporter错误:无法解压缩数据;键入python3.6时zlib不可用获取pip.py...
- android asmack调用MultiUserChat.getHostedRooms方法出现空指针的异常解决方案
- ssr机场_史丹索普SSR草莓绑苗工作两周
- Python系统命令– os.system(),subprocess.call()
- MySQL 主键相关操作
- sklearn常用聚类算法模型【KMeans、DBSCAN】实践
- 《AIX 5L 系统管理技术》学习笔记之第七章设备管理
- 【BZOJ1057】[ZJOI2007] 棋盘制作(单调栈的运用)
- 尚学堂马士兵Oracle学习笔记之一:基本select语句
- 蔡学镛:编译、反编译、反反编译(转)
- 数学建模-分类模型(基于logistic回归)
- Fatal signal 11问题的解决方法
- C语言指针强制类型转换
- 教您用几何画板画相切的圆
- MySQL--查询操作
热门文章
- unity天空盒渐变_Unity 制作天空盒
- idea导入项目无法解析java
- myeclipse报错:The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path
- 【转】winIO的解释与使用
- VS启动项目时一个奇葩问题
- 大结局:GitHub正式归于微软旗下,新CEO下周一上任“三把火”
- AI手机会怎么样?那不得看高通骁龙的AI能怎样
- 照片有灵异鬼影?伯克利 x 陈启峰培育高能FCN“除灵师” | CVPR论文
- 联想高校AI精英挑战赛争霸浙江大学,“管道医生”项目晋级赛摘得桂冠
- 尴尬……无人车美国赌城上路不到一小时就撞了