Ejemplo n.º 1
0
def test(solution):
    print('testing:', solution.__name__)
    l1 = TreeNode(15, TreeNode(18, TreeNode(20)))
    assert not solution(l1)

    l2 = TreeNode(7)
    assert solution(l2)

    l3 = TreeNode(11, l1, l2)
    assert not solution(l3)

    r1 = TreeNode(6)
    assert solution(r1)

    r2 = TreeNode(8, None, r1)
    assert solution(r2)

    tree = TreeNode(9, l3, r2)
    assert not solution(tree)

    assert solution(create_valid_bst())
    print('passed')
Ejemplo n.º 2
0
     4
   /   \
  7     2
 / \   / \
9   6 3   1
"""


def invert_tree(root):
    if not root:
        return

    tmp = root.right
    root.right = root.left
    root.left = tmp

    invert_tree(root.left)
    invert_tree(root.right)

    return root


if __name__ == '__main__':
    print('before:')
    tree = create_valid_bst()
    level_order(tree)

    print('\nafter:')
    tree = invert_tree(tree)
    level_order(tree)