1
0
Fork 0
mirror of https://gitlab.com/mfocko/LeetCode.git synced 2024-11-14 01:49:41 +01:00
LeetCode/problems/cs/binary-tree-pruning.cs
Matej Focko 333866d1bc
chore: split solutions by language
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-06-02 17:19:02 +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;
}
}