Count Good Nodes In Binary Tree

MediumTrees
Asked byMicrosoftSalesforce

Problem

Given a binary tree, a node is called "good" if the path from the root down to that node contains no value greater than the node's own value. Return the number of good nodes in the tree.

Examples

Example 1
Input:root = [3,1,4,3,null,1,5]
Output:4

Constraints

  • 1 <= number of nodes <= 10^5

Solve it in the editor. Sign in free to run your Python or JavaScript against test cases, get a verdict, and track your attempts.

Solve on FeatCode →

How to approach it: the Trees pattern

A tree is a hierarchical structure where each node has at most a fixed number of children (two, for binary trees). Almost every tree problem reduces to a traversal — decide what order you visit nodes in, and what you do at each one.

Look for this pattern when

  • The problem is naturally recursive: "the answer for this tree depends on the answer for its subtrees."
  • You need level-by-level information (BFS) versus depth-first structural information (DFS).

Read the full Trees guide →

Video walkthroughs

Original problem on LeetCode ↗

More Trees problems