LeetCode/cs/count-good-nodes-in-binary-tree.cs

26 lines
698 B
C#
Raw Permalink Normal View History

/**
* 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 int GoodNodes(TreeNode root, int m) {
if (root == null) {
return 0;
}
int newMax = Math.Max(m, root.val);
return (root.val >= m ? 1 : 0) + GoodNodes(root.left, newMax) + GoodNodes(root.right, newMax);
}
public int GoodNodes(TreeNode root) => GoodNodes(root, int.MinValue);
}