Objective: Given a binary tree, write an algorithm to convert it into its Sum tree.
What is Sum tree: Sum tree of a binary tree, is a tree where each node in the converted tree will contains the sum of the left and right sub trees in the original tree.
- Recursively calculate the left sum from left sum tree.
- Recursively calculate the right sum from right tree.
- prepare the return root.data + left sum + right sum.
- Update the root data as root.data = left sum + right sum.
- update the newRoot = root.
- See the code for better understanding.
Original Tree: -2 -1 4 5 -6 3 10 Sum tree: 0 2 0 8 0 4 0