本地环境搭建leetcode,二叉树相关的测试环境
1、如何根据题目构建指定的二叉树?
方案1【不要使用】
def creatBTree(data, index): "存在bug,请不要使用" pNode = None if index < len(data): if data[index] == None: return pNode = TreeNode(data[index]) pNode.left = creatBTree(data, 2 * index + 1) pNode.right = creatBTree(data, 2 * index + 2) return pNode 方案二: def makeTree(l) -> TreeNode: """ 由输入列表生成树,返回根节点 """ q = [] if not l: return root = TreeNode(val=l.pop(0)) q.append(root) while q: t = q.pop(0) if l: if l[0] != 'null': t.left = TreeNode(val=l.pop(0)) q.append(t.left) else: l.pop(0) if l: if l[0] != 'null': t.right = TreeNode(val=l.pop(0)) q.append(t.right) else: l.pop(0) return root