#1325

Delete Leaves With a Given Value

pupil · 465 · lc medium +26 · verified · 77.3% accepted · 2,894 likes · top 88%

Description

Given the root of a binary tree and an integer target, remove every leaf node whose value equals target. Repeat this process: if a node becomes a leaf after removal and its value is also target, remove it too. Continue until no such leaf remains.

Example 1:

Input: root = [1,2,3,2,null,2,4], target = 2
Output: [1,null,3,null,4]
Explanation: Leaf nodes in green with value (target = 2) are removed (Picture in left).
After removing, new nodes become leaf nodes with value (target = 2) (Picture in center).

Example 2:

Input: root = [1,3,3,3,2], target = 3
Output: [1,3,null,null,2]

Example 3:

Input: root = [1,2,null,2,null,2], target = 2
Output: [1]
Explanation: Leaf nodes in green with value (target = 2) are removed at each step.

Code

1
2
3
4
5
6
7
8
9