Count Good Nodes in Binary Tree

Given a binary tree root, a node X in the tree is named good if in the path from root to X there are no nodes with a value greater than X.

Return the number of good nodes in the binary tree.

Example 1
        3
       / \
      1   4
     /   / \
    3   1   5
Inputroot = [3,1,4,3,null,1,5]
Output4
Root node 3 is always good, node 4 is the maximum on path (3, 4), node 5 is the maximum on path (3, 4, 5), and node 3 is the maximum on path (3, 1, 3).
Example 2
        3
       /
      3
     / \
    4   2
Inputroot = [3,3,null,4,2]
Output3
Node 2 on path (3, 3, 2) is not good because 3 is greater than it.

Constraints

  • The number of nodes in the binary tree is in the range [1, 10^5].
  • Each node's value is between [-10^4, 10^4].

Asked at 7 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate