I want to return the flag as TRUE if I meet the if condition in my code, which I am unable to do.
class createnode:
def __init__(self,data):
self.data = data
self.left = None
self.right = None
def traverse(self, root,flag,sum,prev=0):
if root:
if root.data + prev==sum:
print("pairs are",root.data,prev)
flag=True
return flag
self.traverse(root.left,flag,sum,prev=root.data)
self.traverse(root.right,flag,sum,prev=root.data)
else:
return
root = createnode(8)
root.left=createnode(4)
root.right = createnode(10)
root.left.left=createnode(2)
root.left.right=createnode(6)
root.right.left = createnode(9)
root.right.right = createnode(12)
flag=root.traverse(root,flag=False,sum=19)
print(flag)
Output: True
But my output is coming as None. Can someone help me here?