def main(): list1 = [5, 2, 8, 1, 3, 7, 9] list2 = [4, 0, 6] tree1 = TreeNode.list2tree(list1) tree2 = TreeNode.list2tree(list2) result = get_two_trees_inorder(tree1, tree2) print(result)
def main(): root1 = [5,2,8,1,3,7,9] tree = TreeNode.list2tree(root1) # result = tree2list(tree) # print(result) dfs(tree)
def main(): input_list = [ [5, 2, 8, 1, 3, 7, 9], [2, 1, 3], ] for lst in input_list: tree = TreeNode.list2tree(lst) result = get_inorder_iterative(tree) print(f"{lst} -> {result}")
def test_1(): sol = Solution() tree = TreeNode.list2tree([1, 2, 3]) assert sol.findBottomLeftValue(tree) == 2
def insertIntoBST(self, root: TreeNode, val: int) -> TreeNode: def dfs(tree, val): if tree is None: pass if val < tree.val: if tree.left: dfs(tree.left, val) else: tree.left = TreeNode(val) if val > tree.val: if tree.right: dfs(tree.right, val) else: tree.right = TreeNode(val) dfs(root, val) return root if __name__ == '__main__': input_list = [(5, [4, 2, 7, 1, 3])] sol = Solution() for inp in input_list: tree = TreeNode.list2tree(inp[1]) new_tree = sol.insertIntoBST(tree, inp[0]) new_tree.printTree_bfs()
result = [] queue = [(0, root)] while queue != []: level, curr = queue.pop(0) if level >= len(result): if curr is not None: result.append([curr.val]) else: result[level].append(curr.val) for c in [curr.left, curr.right]: if c is not None: queue.append((level+1, c)) for i in range(1,len(result),2): result[i] = result[i][::-1] return result if __name__ == '__main__': input_list = [ [3,9,20,None,None,15,7], ] sol = Solution() for inp in input_list: root = TreeNode.list2tree(inp) result = sol.zigzagLevelOrder(root) print(result)
if curr.left: stack.append((level + 1, curr.left)) if curr.right: curr.right = pruneLeave(curr.right) if curr.right: stack.append((level + 1, curr.right)) if not curr.left and not curr.right and curr.val == 0: stack.append((level, curr)) return root if __name__ == '__main__': from binarytree import TreeNode sol = Solution() input_list = [ [0, None, 3], [1, None, 0, 0, 1], [1, 0, 1, 0, 0, 0, 1], ] for i, x in enumerate(input_list): print("=============={}==============".format(x)) tree = TreeNode.list2tree(x) #TreeNode.printTree(tree) tree_ = sol.pruneTree(tree) TreeNode.printTree_bfs(tree_)