Given a Binary Tree and a node x in it, find distance of the closest leaf to x in Binary Tree. If given node itself is a leaf, then distance is 0.
Input: Root of below tree And x = pointer to node 13 10 / \ 12 13 / 14 Output 1 Distance 1. Closest leaf is 14. Input: Root of below tree And x = pointer to node 13 10 / \ 12 13 / \ 14 15 / \ / \ 21 22 23 24 /\ /\ /\ /\ 1 2 3 4 5 6 7 8 Output 2 Closest leaf is 12 through 10.
We strongly recommend you to minimize your browser and try this yourself first.
The idea is to first traverse the subtree rooted with give node and find the closest leaf in this subtree. Store this distance. Now traverse tree starting from root. If given node x is in left subtree of root, then find the closest leaf in right subtree, else find the closest left in left subtree. Below is the implementation of this idea.
The closest leaf to the node with value 13 is at a distance of 2
Time Complexity of this above solution is O(n) as it does at most two traversals of given Binary Tree.
This article is contributed by Ekta Goel. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Find the closest leaf in a Binary Tree
- Print the longest leaf to leaf path in a Binary tree
- Queries to find sum of distance of a given node to every leaf node in a Weighted Tree
- Construct XOR tree by Given leaf nodes of Perfect Binary Tree
- Deepest left leaf node in a binary tree
- Deepest left leaf node in a binary tree | iterative approach
- Deepest right leaf node in a binary tree | Iterative approach
- Print the nodes of binary tree as they become the leaf node
- Delete the last leaf node in a Binary Tree
- Create a binary tree from post order traversal and leaf node array
- Given a binary tree, print out all of its root-to-leaf paths one per line.
- Given a binary tree, print all root-to-leaf paths
- Maximum sum of leaf nodes among all levels of the given binary tree
- Find K smallest leaf nodes from a given Binary Tree
- Maximum sum of non-leaf nodes among all levels of the given binary tree
- Count the number of paths from root to leaf of a Binary tree with given XOR value
- Find the closest element in Binary Search Tree
- Check whether a node is leaf node or not for multiple queries
- Minimum time to burn a Tree starting from a Leaf node
- Number of leaf nodes in the subtree of every node of an n-ary tree