This post discusses the solution of the problem -
We need to solve this problem using Children Sum Property, which means sum of left and right child should be equal to its root. A tree with single node, is also considered to be following children sum property.A empty tree is also considered to be following Children Sum Property.
Below is the solution of the problem.
class Solution
{
public:
int findSum(Node*root){
if(!root) return 0;
return root->data +findSum(root->left)+findSum(root->right);
}
bool isSumTree(Node* root)
{
// Your code here
if(!root) return true;
if(!root->left && !root->right) return true;
if(findSum(root->left)+findSum(root->right) == root->data)
return (isSumTree(root->left) && isSumTree(root->right));
else return false;
}
};
Top comments (0)