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)
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)
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