标签:
Problem: https://leetcode.com/problems/unique-binary-search-trees/
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.
1 3 3 2 1 \ / / / \ 3 2 1 1 3 2 / / \ 2 1 2 3
Thought:
For bst of 1...n, it can be structured bu root i and left tree 1...i and right tree i+1....n, so dp is available
Code C++:
class Solution { public: int numTrees(int n) { int *num = new int[n + 1]; for (int i = 0; i <= n; i++) { num[i] = 0; } num[0] = 1; num[1] = 1; for (int i = 2; i <= n; i++) { for (int j = 1; j <= i; j++) { num[i] += num[j - 1] * num[i - j]; } } return num[n]; } };
LeetCode 96. Unique Binary Search Trees
标签:
原文地址:http://www.cnblogs.com/gavinxing/p/5685379.html