小黑做法(跟题解几乎一致)
# 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:
self.num = 0
def dfs(node,max_):
if not node:
return
# 滚动出路径最大值
if node.val >= max_:
max_ = node.val
self.num += 1
dfs(node.left,max_)
dfs(node.right,max_)
dfs(root,-inf)
return self.num