跳到主要内容

894.所有可能的真二叉树

链接:894.所有可能的真二叉树
难度:Medium
标签:树、递归、记忆化搜索、动态规划、二叉树
简介:给你一个整数 n ,请你找出所有可能含 n 个节点的 真二叉树 ,并以列表形式返回。

题解 1 - python

  • 编辑时间:2024-04-02
  • 执行用时:63ms
  • 内存消耗:20.82MB
  • 编程语言:python
  • 解法介绍:dfs。
class Solution:
@cache
def allPossibleFBT(self, n: int) -> List[Optional[TreeNode]]:
return [
TreeNode(0, lnode, rnode)
for cnt in range(1, n - 1)
for lnode in self.allPossibleFBT(cnt)
for rnode in self.allPossibleFBT(n - 1 - cnt)
] if n != 1 else [TreeNode(0)]