leetcode刷题python之不同的二叉搜索树

思路:这个题与上一个不同,只需要得到次数。使用动态规划可以避免一次次的计算。n对应的次数与1~n-1都有关。
leetcode刷题python之不同的二叉搜索树_第1张图片
ps:二叉搜索树的顺序为根→左→右
题目:给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?
示例:
输入: 3
输出: 5

class Solution:
    def numTrees(self, n: int) -> int:
        G = [0] * (n + 1)
        G[0] = G[1] = 1
        for i in range(2, n + 1):
            for j in range(0, i):
                G[i] += G[j] * G[i - j - 1]
        return G[n]

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/unique-binary-search-trees
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

你可能感兴趣的:(leetcode_python)