classSolution{public:TreeNode*sufficientSubset(TreeNode*root,intlimit){if(root==nullptr)returnnullptr;if(root->left==nullptr&&root->right==nullptr)returnroot->val<limit?nullptr:root;root->left=sufficientSubset(root->left,limit-root->val);root->right=sufficientSubset(root->right,limit-root->val);// Both children are nullptrreturnroot->left==root->right?nullptr:root;}};
classSolution{publicTreeNodesufficientSubset(TreeNoderoot,intlimit){if(root==null)returnnull;if(root.left==null&&root.right==null)returnroot.val<limit?null:root;root.left=sufficientSubset(root.left,limit-root.val);root.right=sufficientSubset(root.right,limit-root.val);// Both children are nullreturnroot.left==root.right?null:root;}}