public static int ShareCoins(TreeNode root) {
public static int Traverse(TreeNode node)
int left = Traverse(node.left);
int right = Traverse(node.right);
Count += Math.Abs(left) + Math.Abs(right);
return node.val + left + right - 1;
public static void Main()
Console.WriteLine("UniLecs");
var root1 = new TreeNode(3);
root1.left = new TreeNode(0);
root1.right = new TreeNode(0);
Console.WriteLine(ShareCoins(root1).ToString());
var root2 = new TreeNode(0);
root2.left = new TreeNode(3);
root2.right = new TreeNode(0);
Console.WriteLine(ShareCoins(root2).ToString());