LeetCode Unique Binary Search Trees
2015-04-24 10:46
567 查看
Given n, how many structurally unique BST's (binary search trees) that store values 1...n?
For example,
Given n = 3, there are a total of 5 unique BST's.
题意:求n个数能构成多少种二叉搜索树。
思路:每个数都能作为根节点,那么用a
表示长度为n的时候有多少种可能,那么每次枚举到i的时候,就会有左边有a[j],右边就有a[i-1-j]种可能,那么a[i]的结果就是两个数的乘积。
For example,
Given n = 3, there are a total of 5 unique BST's.
1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 2 3
题意:求n个数能构成多少种二叉搜索树。
思路:每个数都能作为根节点,那么用a
表示长度为n的时候有多少种可能,那么每次枚举到i的时候,就会有左边有a[j],右边就有a[i-1-j]种可能,那么a[i]的结果就是两个数的乘积。
public class Solution { public int numTrees(int n) { if (n < 0) return 0; int a[] = new int[1000]; a[0] = 1; for (int i = 1; i <= n; i++) for (int j = 0; j < i; j++) a[i] += a[j] * a[i-j-1]; return a ; } }
相关文章推荐
- LeetCode--Unique Binary Search Trees
- Leetcode---Unique Binary Search Trees II
- Unique Binary Search Trees - LeetCode 96
- 91_leetcode_Unique Binary Search Trees II
- leetcode Unique Binary Search Trees
- LeetCode第96题 Unique Binary Search Trees
- LeetCode 95:Unique Binary Search Trees II
- Unique Binary Search Trees -LeetCode
- LeetCode 95: Unique Binary Search Trees II
- [Leetcode] Unique Binary Search Trees II (Java)
- Leetcode: Unique Binary Search Trees
- LeetCode96_Unique Binary Search Trees(求1到n这些节点能够组成多少种不同的二叉查找树) Java题解
- LeetCode - Unique Binary Search Trees
- 【LeetCode with Python】 Unique Binary Search Trees
- leetcode JAVA Unique Binary Search Trees 难度系数3 3.34
- LeetCode:: Unique Binary Search Trees[详细分析]
- [LeetCode] Unique Binary Search Trees II, Solution
- Leetcode: Unique Binary Search Trees
- LeetCode-M-Unique Binary Search Trees
- Unique Binary Search Trees [LEETCODE]