Skip to the content.

Problem #814 (Binary Tree Pruning | Tree, Depth-First Search, Binary Tree)

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.

Example 1

image

Input:

root = [1,null,0,0,1] <br/>

Output:

[1,null,0,null,1] <br/>

Explanation:

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

Example 2

image

Input:

root = [1,0,1,0,0,0,1] <br/>

Output:

[1,null,1,null,1]

Example 3

image

Input:

root = [1,1,0,1,1,0,1,0] <br/>

Output:

[1,1,0,1,1,null,1]

Constraints

Solutions

1. Depth-First Search (Recursive)

Codes

Complexity