Convert binary tree into sum tree

June 24, 2022 · 1 min read

https://practice.geeksforgeeks.org/problems/transform-to-sum-tree/1

class Solution {
  int sumUtil(Node *node) {
    if (node == nullptr)
      return 0;

    int tmp = node->data;

    int leftSum = sumUtil(node->left);
    int rightSum = sumUtil(node->right);

    node->data = leftSum + rightSum;
    return node->data + tmp;
  }

public:
  void toSumTree(Node *node) {
    sumUtil(node);
  }
};
Convert binary tree into doubly linked list
Construct binary tree from inorder and preorder traversal