标签:
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
//Sigma(左边的子树可能状态 * 右边子树可能状态) = 当前个数的nodes形成的BST总数。 class Solution { public: int numTrees(int n) { int *m = new int[n + 1](); m[0] = 1; m[1] = 1; for (int i = 2; i <= n; i++) { for (int j = 0; j < i; j++) { m[i] += m[j] * m[i -1 - j]; } } int result = m[n]; delete m; return result; } };
标签:
原文地址:http://www.cnblogs.com/SpeakSoftlyLove/p/5185047.html