def recover_tree_prime(root):
    n1 = TreeNode(0)
    n2 = TreeNode(0)
    prev = TreeNode(0)
    result = []
    recover_tree(root, n1, n2, prev, result)

    if len(result) == 4:
        print('YES2')
        print('%d --- %d' % (result[1], result[2]))
    elif len(result) == 2:
        print('YES1')
        print('%d --- %d' % (result[0], result[1]))
    else:
        print('NO')
def main():
    a1 = TreeNode(5)
    a2 = TreeNode(3)
    a3 = TreeNode(3)
    a4 = TreeNode(1)
    a5 = TreeNode(1)
    a1.left = a2
    a1.right = a3
    a2.right = a4
    a3.right = a5
    res = find_mirror_tree(a1)
    if res is True:
        print('YES')
    else:
        print('NO')
def main():
    a1 = TreeNode(5)
    a2 = TreeNode(3)
    a3 = TreeNode(7)
    a4 = TreeNode(1)
    a5 = TreeNode(4)
    a6 = TreeNode(9)
    a7 = TreeNode(6)
    a8 = TreeNode(2)
    a1.left = a2
    a1.right = a3
    a2.left = a4
    a2.right = a5
    a3.right = a6
    a5.left = a7
    a5.right = a8
    res = path_sum(a1, 21)
    print(res)
def main():
    a1 = TreeNode(1)
    a2 = TreeNode(-2)
    a3 = TreeNode(7)
    a4 = TreeNode(3)
    a5 = TreeNode(4)
    a6 = TreeNode(9)
    a1.left = a2
    a1.right = a3
    a2.left = a4
    a2.right = a5
    a3.right = a6
    max_sum = max_path_sum(a1)
    print(max_sum)
Beispiel #5
0
def main():
    a1 = TreeNode(3)
    a2 = TreeNode(1)
    a3 = TreeNode(9)
    a4 = TreeNode(5)
    a5 = TreeNode(4)
    a6 = TreeNode(7)
    a1.left = a2
    a1.right = a3
    a2.left = a4
    a2.right = a5
    a3.right = a6
    common_parent = nearest_common_parent(a1, a1, a6)
    print(common_parent.value)
def main():
    a1 = TreeNode(5)
    a2 = TreeNode(7)
    a3 = TreeNode(3)
    a4 = TreeNode(1)
    a5 = TreeNode(4)
    a6 = TreeNode(9)
    a1.left = a2
    a1.right = a3
    a2.left = a4
    a2.right = a5
    a3.right = a6
    recover_tree_prime(a1)
Beispiel #7
0
def main():
    a1 = TreeNode(5)
    a2 = TreeNode(3)
    a3 = TreeNode(7)
    a4 = TreeNode(1)
    a5 = TreeNode(4)
    a6 = TreeNode(9)
    a7 = TreeNode(6)
    a8 = TreeNode(2)
    a1.left = a2
    a1.right = a3
    a2.left = a4
    a2.right = a5
    a3.right = a6
    a5.left = a7
    a5.right = a8
    res_path = path_sum(a1, 10)
    for sub_path in res_path:
        for node in sub_path:
            print(str(node) + '+', end='')
        print()
def main():
    a1 = TreeNode(5)
    a2 = TreeNode(3)
    a3 = TreeNode(7)
    a4 = TreeNode(1)
    a5 = TreeNode(4)
    a6 = TreeNode(9)
    a7 = TreeNode(6)
    a8 = TreeNode(2)
    a1.left = a2
    a1.right = a3
    a2.left = a4
    a2.right = a5
    a3.right = a6
    a5.left = a7
    a5.right = a8
    res = is_balanced_tree(a1)
    if res == -1:
        print('No balance tree.')
    else:
        print('YES')
def main():
    a1 = TreeNode(5)
    a2 = TreeNode(3)
    a3 = TreeNode(7)
    a4 = TreeNode(1)
    a5 = TreeNode(4)
    a6 = TreeNode(9)
    a1.left = a2
    a1.right = a3
    a2.left = a4
    a2.right = a5
    a3.right = a6
    new_Head = tree_to_double_list(a1)
    cur = new_Head
    parent = new_Head
    while cur is not None:
        print(str(cur.value) + ',', end='')
        parent = cur
        cur = cur.right
    print()
    while parent is not None:
        print(str(parent.value) + ',', end='')
        parent = parent.left