Visible Tree Node | Number of Visible Nodes
Prereq: DFS on Tree
In a binary tree, a node is labeled as "visible" if, on the path from the root to that node, there isn't any node with a value higher than this node's value.
The root is always "visible" since there are no other nodes between the root and itself. Given a binary tree, count the number of "visible" nodes.
Input:

Output: 3
For example: Node 4 is not visible since 5>4, similarly Node 3 is not visible since both 5>3 and 4>3. Node 8 is visible since all 5<=8, 4<=8, and 8<=8.