LeetCode 95. 不同的二叉搜索树 II(递归)

1. 题目

给定一个整数 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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/unique-binary-search-trees-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

类似题目:
程序员面试金典 - 面试题 04.09. 二叉搜索树序列(双端队列+回溯)**
LeetCode 96. 不同的二叉搜索树(DP)

  • 遍历数据 [1,n] 的每个点,分成两半,递归生成
class Solution {
public:vector<TreeNode*> generateTrees(int n) {if(n == 0)return {};return generateTrees(1,n);}vector<TreeNode*> generateTrees(int start, int end){vector<TreeNode*> ans;if(start > end){ans.push_back(NULL);return ans;}vector<TreeNode*> subLeft, subRight;TreeNode *node;for(int i = start; i <= end; i++){subLeft = generateTrees(start,i-1);subRight = generateTrees(i+1,end);for(TreeNode* l : subLeft)for(TreeNode* r : subRight){node = new TreeNode(i);node->left = l;node->right = r;ans.push_back(node);}}return ans;}
};

36 ms 17.7 MB

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476495.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

离谱!以AI数据标注为名,偷拍女性上厕所?

源&#xff5c;新智元文&#xff5c;好困 David你绝对想不到&#xff0c;自己在家上厕所的「实时动态」&#xff0c;不仅被拿去给AI做了训练数据&#xff0c;而且还被发到了网上&#xff01;最近&#xff0c;《麻省理工科技评论》在一篇万字长文调查中&#xff0c;就曝光了这样…

treemap怎么保证有序_干货!208道面试题教你怎么通过面试!

[如您对本文感兴趣&#xff0c;请点击标题下方蓝色“拓达IT训练营”添加关注&#xff0c;每天都有精彩实用文章呈现给您]一、Java 基础1.JDK 和 JRE 有什么区别&#xff1f;2. 和 equals 的区别是什么&#xff1f;3.两个对象的 hashCode()相同&#xff0c;则 equals()也一定为 …

看美女无数

看美女无数——代腾飞 2008年9月30日 于成都漫漫长假&#xff0c;却不知如何渡大千世界&#xff0c;却找不到去处只好独自骑着车儿压马路 来来往往&#xff0c;美女无数虽闭城不出&#xff0c;却也大饱眼福知足&#xff0c;知足 坐看春熙路&#xff0c;看美女购物熙来攘往&am…

LeetCode 107. 二叉树的层次遍历 II(队列)

1. 题目 给定一个二叉树&#xff0c;返回其节点值自底向上的层次遍历。 &#xff08;即按从叶子节点所在层到根节点所在的层&#xff0c;逐层从左向右遍历&#xff09; 例如&#xff1a; 给定二叉树 [3,9,20,null,null,15,7],3/ \9 20/ \15 7 返回其自底向上的层次遍历为…

什么是document对象?如何获取文档对象上的元素?_dom对象

DOM对象1. DOM树当网页被加载时&#xff0c;浏览器会创建页面的文档对象模型&#xff08;Document Object Model&#xff09;&#xff0c;通过 HTML DOM对象&#xff0c;可访问 JavaScript HTML 文档的所有元素。HTML DOM 模型被构造为对象的树。节点(Node)&#xff1a;HTML文档…

用python生成云词汇_用python生成词云wordcloud

代码如下&#xff1a;import wordcloudimport jiebaexcludes{"将军","却说","二人","不可","荆州","不能","如此","商议","如何","主公","军士","左右&q…

JavaScript在内层循环中断外层循环

很少见的用法…… var elem1 [1,2,3,5,6];var elem2 [7,5,0];label1 : { for (var i 0; i < 10; i) { for (var j 0; j < 10; j) { if (elem1[i] elem2[j]) { break label1; } } }} 转载于:https://www.c…

综述论文:机器学习中的模型评价、模型选择与算法选择!

源&#xff5c;机器之心本论文回顾了用于解决模型评估、模型选择和算法选择三项任务的不同技术&#xff0c;并参考理论和实证研究讨论了每一项技术的主要优势和劣势。进而&#xff0c;给出建议以促进机器学习研究与应用方面的最佳实践。论文链接&#xff1a;https://sebastianr…

阿里巴巴后台的使用体验

今天花了点时间&#xff0c;使用了一下阿里巴巴的会员后台&#xff0c;感叹一句“它的成功是有它的道理的”。在功能模块的使用上&#xff0c;它都提供了帮助&#xff0c;这种帮助不是简单的一个列表或者一篇文章&#xff0c;而是一种层次性的服务。首先会有一个所对应的功能模…

LeetCode 167. 两数之和 II - 输入有序数组(双指针)

1. 题目 给定一个已按照升序排列 的有序数组&#xff0c;找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2&#xff0c;其中 index1 必须小于 index2。 说明: 返回的下标值&#xff08;index1 和 index2&#xff09;不是从零开始的。你可…

lcd液晶字体_等离子电视与液晶电视的区别

阅读本文前&#xff0c;请您先点击上面的蓝色字体&#xff0c;再点击“关注”&#xff0c;这样您就可以继续免费收到最新文章了。每天都有分享。完全是免费订阅&#xff0c;请放心关注。注&#xff1a;本文转载自网络&#xff0c;不代表本平台立场&#xff0c;仅供读者参考&…

母版中menu控件上传后出现脚本错误

这几天帮朋友做个小网站&#xff0c;为了网站更容易扩展&#xff0c;所以使用了.menu控件做网站导行&#xff0e;本来在做的时候没出错&#xff0c;可上 传之后却显示不出&#xff0c;动态菜单的部分&#xff0c;并且提示脚本错误&#xff0e;于是乎上网开始找答案&#xff0c;…

python编程入门课_程序设计入门—Python

知识单元一&#xff1a;程序设计语言基础第1周&#xff1a;程序设计的基础知识教学内容&#xff1a;计算的基本概念&#xff0c;计算机程序设计语言的历史&#xff0c;Python语言的发展简史及语言的特点&#xff0c;程序设计语言的基本语法教学要求&#xff1a;了解冯诺依曼计算…

稚晖君被曝离职华为!两年前加入华为天才少年计划,下一步创业方向是机器人...

文&#xff5c;羿阁 萧箫 发自 凹非寺源&#xff5c;量子位以“天才少年”身份加入华为的稚晖君&#xff0c;被曝已经离职&#xff0c;将开启创业&#xff01;虽然本人还没公开确认这一消息&#xff0c;但据华为员工爆料&#xff0c;目前华为内部已经搜不到对应的工号。要知道&…

python调用shell该引用到什么类_python调用shell, shell 引用python

标签&#xff1a;python 调用 shellget_line_num"wc -l as_uniq_info | awk ‘{print $1}‘" ###get the lines of "as_uniq_info"line_num os.popen(get_line_num).read().strip(‘\n‘)get_line_num 作为shell执行的命令&#xff0c;会取得文件as_uniq_i…

对抗机器学习逐年火爆,成蓝海赛道|附6篇必刷论文

对抗机器学习&#xff0c;是一种利用对抗博弈思想的机器学习技术&#xff0c;通过在Google Trends上对“对抗机器学习”进行检索发现&#xff0c;该领域检索热度逐年上升。今天给大家分享一个好出文章的对抗机器学习研究方向——人脸识别&#xff01;人脸对抗样本攻击的形式主要…

Windows CE.0002.ERROR:Image is too large for current RAM and RAMIMAGE settings.

在编译WinCE项目时&#xff0c;遇到ERROR:Image is too large for current RAM and RAMIMAGE settings.时&#xff0c;请将 下图所示选项选中&#xff0c;即可解决。 转载于:https://www.cnblogs.com/dingzhaofeng/archive/2008/10/16/1312538.html

王喆:计算广告技术综述与思考

‍编&#xff5c;王喆 源&#xff5c;DataFunTalk导读&#xff1a;大家好&#xff0c;我是《深度学习推荐系统》的作者王喆&#xff0c;很多同行可能读过这本系统性介绍推荐系统的书&#xff0c;但大多数人可能不知道我职业生涯的头四年都在做广告系统&#xff0c;之后才在推荐…

cpython 标准库_Python re标准库

re模块包含对正则表达式的支持。一、什么是正则表达式正则表达式是可以匹配文本片段的模式。最简单的正则表达是就是普通字符串&#xff0c;可以匹配其自身。你可以用这种匹配行为搜索文本中的模式&#xff0c;或者用计算后的值替换特定模式&#xff0c;或者将文本进行分段。1、…

NHibernate之旅(4):探索查询之条件查询(Criteria Query)

本节内容 NHibernate中的查询方法条件查询(Criteria Query)1.创建ICriteria实例2.结果集限制3.结果集排序4.一些说明根据示例查询(Query By Example)实例分析结语上一节&#xff0c;我们介绍了NHibernate查询语言的一种&#xff1a;NHibernate查询语言(HQL&#xff0c;NHiberna…