leetcode: Unique Binary Search Trees II
来源:互联网 发布:java发送http请求 编辑:程序博客网 时间:2024/06/14 11:27
Given n, generate all structurally unique BST's (binary search trees) that store values 1...n.
For example,
Given n = 3, your program should return all 5 unique BST's shown below.
1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 2 3
分别选一个数做根节点,然后把剩下比它小的放左边,比它大的放右边,然后枚举左右节点不同的放置情况。
/** * 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<TreeNode *> generateTrees(int n) { return createTrees( 1, n); } vector<TreeNode *> createTrees( int left, int right){ vector< TreeNode *> res; if( left > right){ res.push_back(NULL); return res; } for( int i = left; i <= right; ++i){ vector< TreeNode *> l = createTrees( left, i-1); vector< TreeNode *> r = createTrees( i+1, right); for( int j = 0; j < l.size(); ++j){ for( int k = 0; k < r.size(); ++k){ TreeNode * root = new TreeNode(i); root->left = l[j]; root->right = r[k]; res.push_back(root); } } } return res; }};
0 0
- LeetCode: Unique Binary Search Trees II
- LeetCode : Unique Binary Search Trees II
- [LeetCode] Unique Binary Search Trees II
- leetcode Unique Binary Search Trees II
- [LeetCode]Unique Binary Search Trees II
- [leetcode]Unique Binary Search Trees II
- LeetCode-Unique Binary Search Trees II
- [leetcode] Unique Binary Search Trees II
- LeetCode - Unique Binary Search Trees II
- LeetCode 95: Unique Binary Search Trees II
- Leetcode Unique Binary Search Trees II
- [LeetCode] Unique Binary Search Trees II
- Leetcode: Unique Binary Search Trees II
- leetcode Unique Binary Search Trees II
- 【Leetcode】Unique Binary Search Trees II
- LeetCode | Unique Binary Search Trees II
- Leetcode Unique Binary Search Trees II
- [LeetCode] Unique Binary Search Trees II
- UVA-113- Power of Cryptography
- mongodb常用语句
- JVM分代垃圾回收策略的基础概念
- httpd之用户认证的虚拟目录
- 金鳞通讯电话录音系统
- leetcode: Unique Binary Search Trees II
- 大学里面重要的课程
- lua相关知识点笔记
- Android wifi简要分析
- swift程序设计语言 -- 中文
- Mybatis整合Spring
- linux 文件权限的查看与修改
- NGUI--UICamera
- 详细介绍Java垃圾回收机制