博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]Unique Binary Search Trees II
阅读量:4151 次
发布时间:2019-05-25

本文共 2051 字,大约阅读时间需要 6 分钟。

struct TreeNode {	int val;	TreeNode *left;	TreeNode *right;	TreeNode(int x) : val(x), left(NULL), right(NULL) {}};class Solution {public:	vector
GenerateTrees(int lower, int higher) { vector
res; if(lower > higher) { res.push_back(NULL); return res; } for (int i = lower; i <= higher; ++i) { vector
leftTree = GenerateTrees(lower, i-1); vector
rightTree = GenerateTrees(i+1, higher); for (int l = 0; l < leftTree.size(); ++l) { for (int r = 0; r < rightTree.size(); ++r) { TreeNode* root = new TreeNode(i); root->left = leftTree[l]; root->right = rightTree[r]; res.push_back(root); } } } return res; } vector
generateTrees(int n) { // Start typing your C/C++ solution below // DO NOT write int main() function return GenerateTrees(1, n); }};

second time

/** * Definition for binary tree * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    vector
generateUtil(int start, int end) { vector
ans; if(start > end) { ans.push_back(NULL); return ans; } for(int i = start; i <= end; ++i) { vector
leftTrees = generateUtil(start, i-1); vector
rightTrees = generateUtil(i+1, end); for(int l = 0; l < leftTrees.size(); ++l) { for(int r = 0; r < rightTrees.size(); ++r) { TreeNode* root = new TreeNode(i); root->left = leftTrees[l]; root->right = rightTrees[r]; ans.push_back(root); } } } return ans; } vector
generateTrees(int n) { // Start typing your C/C++ solution below // DO NOT write int main() function return generateUtil(1, n); }};

转载地址:http://jhxti.baihongyu.com/

你可能感兴趣的文章
数组分为两部分,使得其和相差最小
查看>>
java抽象类和接口
查看>>
有趣的排序——百度2017春招
查看>>
二叉树的最近公共祖先LCA
查看>>
数组中累加和为定值K的最长子数组长度
查看>>
素数对--腾讯2017校招编程
查看>>
JAVA集合--ArrayList实现原理
查看>>
synchronized与Lock
查看>>
数据库索引
查看>>
实现包含min,max,push,pop函数的栈
查看>>
实验2-6 字符型数据的输入输出
查看>>
实验3-5 编程初步
查看>>
实验4-1 逻辑量的编码和关系操作符
查看>>
实验5-2 for循环结构
查看>>
实验5-3 break语句和continue语句
查看>>
实验5-4 循环的嵌套
查看>>
实验5-5 循环的合并
查看>>
实验5-6 do-while循环结构
查看>>
实验5-7 程序调试入门
查看>>
实验5-8 综合练习
查看>>