diff --git a/1544-count-good-nodes-in-binary-tree/1544-count-good-nodes-in-binary-tree.py b/1544-count-good-nodes-in-binary-tree/1544-count-good-nodes-in-binary-tree.py new file mode 100644 index 0000000..6ef260e --- /dev/null +++ b/1544-count-good-nodes-in-binary-tree/1544-count-good-nodes-in-binary-tree.py @@ -0,0 +1,17 @@ +# Definition for a binary tree node. +# class TreeNode: +# def __init__(self, val=0, left=None, right=None): +# self.val = val +# self.left = left +# self.right = right +class Solution: + def goodNodes(self, root: TreeNode) -> int: + return self.getGoodNodes(root, float("-inf")) + + def getGoodNodes(self, root: TreeNode, newMax: int) -> int: + if not root: + return 0 + + newMax = max(newMax, root.val) + return (1 if root.val >= newMax else 0) + self.getGoodNodes(root.left, newMax) + self.getGoodNodes(root.right, newMax) + \ No newline at end of file