cs: add «404. Sum of Left Leaves»

Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
Matej Focko 2024-04-14 20:23:17 +02:00
parent 1ab4b55fb1
commit 1711b319be
Signed by: mfocko
GPG key ID: 7C47D46246790496

34
cs/sum-of-left-leaves.cs Normal file
View file

@ -0,0 +1,34 @@
#if _MF_TEST
// 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;
}
}
#endif
public class Solution {
private static bool IsLeaf(TreeNode node)
=> node != null && node.left == null && node.right == null;
private int Sum(TreeNode node, bool isLeft) {
if (node == null) {
return 0;
}
if (isLeft && IsLeaf(node)) {
return node.val;
}
return Sum(node.left, true) + Sum(node.right, false);
}
public int SumOfLeftLeaves(TreeNode root)
=> Sum(root, false);
}