代码拉取完成,页面将自动刷新
# Time: O(n * 4^n / n^(3/2)) ~= sum of Catalan numbers from 1 .. N
# Space: O(n * 4^n / n^(3/2)) ~= sum of Catalan numbers from 1 .. N
class TreeNode(object):
def __init__(self, x):
self.val = x
self.left = None
self.right = None
class Solution(object):
def __init__(self):
self.__memo = {1: [TreeNode(0)]}
def allPossibleFBT(self, N):
"""
:type N: int
:rtype: List[TreeNode]
"""
if N % 2 == 0:
return []
if N not in self.__memo:
result = []
for i in xrange(N):
for left in self.allPossibleFBT(i):
for right in self.allPossibleFBT(N-1-i):
node = TreeNode(0)
node.left = left
node.right = right
result.append(node)
self.__memo[N] = result
return self.__memo[N]
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。