d2 = [] # if lca exist if lca: # distance of n1 from lca findLevel(lca, n1, d1, 0) # distance of n2 from lca findLevel(lca, n2, d2, 0) return d1[0] + d2[0] else: return -1 # Driver program to test above function root = Node(1) root.left = Node(2) root.right = Node(3) root.left.left = Node(4) root.left.right = Node(5) root.right.left = Node(6) root.right.right = Node(7) root.right.left.right = Node(8) root.display() # root.prettyPrint() print("Dist(4,5) = ", findDistance(root, 4, 5)) print("Dist(4,6) = ", findDistance(root, 4, 6)) print("Dist(3,4) = ", findDistance(root, 3, 4)) print("Dist(2,4) = ", findDistance(root, 2, 4)) print("Dist(8,5) = ", findDistance(root, 8, 5))