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)]