classNode(object):def __init__(self, value):
self.value=value
self.left=None
self.right=NoneclassSolution(object):def __init__(self):
root= Node(6)
B= Node(4)
root.left=B
C= Node(7)
root.right=C
D= Node(1)
B.left=D
E= Node(2)
B.right=E
F= Node(3)
C.left=F
G= Node(5)
C.right=G
H= Node(6)
I= Node(8)
D.left=H
E.left=I
self.root=root
self.max_value=0
self.path=[]defmax_depth(self,root):if root ==None:return0if (root.left != None) & (root.right !=None):return max(1 + self.max_depth(root.left), 1 +self.max_depth(root.right))elif (root.left != None) & (root.right ==None):return 1 +self.max_depth(root.left)elif (root.l