首页 > 试题广场 >

不同的二叉搜索树 ii

[编程题]不同的二叉搜索树 ii
  • 热度指数:10152 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给定一个值n,请生成所有的存储值1...n.的二叉搜索树BST)的结构
例如:
给定n=3,你的程序应该给出下面五种不同的二叉搜索树(BST)

示例1

输入

3

输出

[{1,#,2,#,3},{1,#,3,2},{2,1,3},{3,1,#,#,2},{3,2,#,1}]

说明:本题目包含复杂数据结构TreeNode,点此查看相关信息
头像 O-Precedence
发表于 2021-09-09 15:51:54
判断函数终止时,null值加入到res中很关键。 选定某个根节点时,递归得到他所有可能的左子树和右子树。 同一根节点下的左子树和右子树可以任意组合。 得到最后的res。 public class Solution { public ArrayList<TreeNode> gen 展开全文
头像 华科不平凡
发表于 2020-08-23 03:32:36
后序遍历的变体,先将左右子树的所有搭配方式到两个vector,然后再用根节点分别与左右子树搭配: // // Created by jt on 2020/8/23. // #include <vector> using namespace std; class Solution { 展开全文
头像 一叶浮尘
发表于 2020-04-11 13:06:30
给定一个值n,请生成所有的存储值1...n.的二叉搜索树(BST)的结构例如:给定n=3,你的程序应该给出下面五种不同的二叉搜索树(BST) /** * Definition for binary tree * public class TreeNode { * int val; 展开全文

问题信息

难度:
39条回答 14515浏览

热门推荐

通过挑战的用户

查看代码