lc96-Unique Binary Search Trees 發表於 2016-08-28 | 分類於 leetcode | 0 comments | 123456789101112131415161718192021222324class Solution {public: int max = 0; vector<int> F; int numTrees(int n) { if (n > max) { for (int i = 0; i < n + 1 - max; i++) F.push_back(-1); max = n; } if (n == 0 || n == 1) { F[n] = 1; return 1; } else { if (F[n] != -1) return F[n]; F[n] = 0; for (int i = 0; i < n; i++) F[n] += numTrees(i)*numTrees(n-1-i); return F[n]; } }};