LeetCode/problems/binary-tree-pruning.cs
Matej Focko 20e3625bd7
problems(cs): add „814. Binary Tree Pruning“
Signed-off-by: Matej Focko <mfocko@redhat.com>
2022-09-06 18:35:48 +02:00

36 lines
868 B
C#

/**
* Definition for a binary tree node.
* public class TreeNode {
* public int val;
* public TreeNode left;
* public TreeNode right;
* public TreeNode(int val=0, TreeNode left=null, TreeNode right=null) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
public class Solution {
private static bool PruneTreeRec(TreeNode? node) {
if (node == null) {
return false;
}
if (!PruneTreeRec(node.left)) {
node.left = null;
}
if (!PruneTreeRec(node.right)) {
node.right = null;
}
return node.val == 1 || node.left != null || node.right != null;
}
public TreeNode? PruneTree(TreeNode? root) {
if (!PruneTreeRec(root)) {
return null;
}
return root;
}
}