Unique Binary Search Trees II
发布时间:2020-12-14 04:45:33 所属栏目:大数据 来源:网络整理
导读:Given an integer? n ,generate all structurally unique?BST‘s?(binary search trees) that store values 1 ...? n . Example:Input: 3 Output:[ [ 1 , null , 3 , 2 ],[ 3 , 2 , 1 ], 1 ,[ 2 , 3 ],[ 1 , 3 ]]Explanation:The above output corresponds t
Given an integer?
n,generate all structurally unique?BST‘s?(binary search trees) that store values 1 ...?
n.
Example: Input: 3 Output: [ [1,null,3,2],[3,2,1],1,[2,3],[1,3] ] Explanation: The above output corresponds to the 5 unique BST‘s shown below: 1 3 3 2 1 / / / 3 2 1 1 3 2 / / 2 1 2 3 code class Solution { public: vector<TreeNode*> generateTrees(int n) { if(n<=0) return {}; return generateTreesCore(1,n); } private: vector<TreeNode *> generateTreesCore(int start,int end) { if(start==end) return {new TreeNode(start)}; else if(start>end) return {nullptr}; vector<TreeNode *> res; for(int i=start;i<=end;++i) { auto left=generateTreesCore(start,i-1); auto right=generateTreesCore(i+1,end); for(auto &l:left) { for(auto &r:right) { TreeNode *t=new TreeNode(i); t->left=l; t->right=r; res.emplace_back(t); } } } return res; } }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |