814. Binary Tree Pruning

Description

Given the root of a binary tree, return the same tree where every subtree (of the given tree) not containing a 1 has been removed.

A subtree of a node node is node plus every node that is a descendant of node.

Constraints

  • The number of nodes in the tree is in the range [1, 200].

  • Node.val is either 0 or 1.

Approach

  • Binarysearch

  • GeeksforGeeks

  • ProgramCreek

  • YouTube

Examples

Input: root = [1, null, 0, 0, 1]

Output: [1, null, 0, null, 1]

Explanation:

Only the red nodes satisfy the property "every subtree not containing a 1". The diagram on the right represents the answer.

Solutions

// Definition for a binary tree node.
public class TreeNode {
	int val;
	TreeNode left;
	TreeNode right;
	TreeNode() {}
	TreeNode(int val) { this.val = val; }
	TreeNode(int val, TreeNode left, TreeNode right) {
		this.val = val;
		this.left = left;
		this.right = right;
	}
}

Follow up

Last updated

Was this helpful?