Timer is Running

Nodes at given distance in binary tree
Submissions: 13840   Accuracy:

45.23%

  Difficulty: Hard   Marks: 8

Given a binary tree, a target node in the binary tree, and an integer value k, find all the nodes that are at distance k from the given target node. No parent pointers are available.

Example 1:

Input :      
          20
        /    \
      8       22 
    /   \
   4    12 
       /   \
      10    14

Target Node = 8
K = 2

Output: 10 14 22

Explanation: The three nodes at distance 2
from node 8 are 10, 14, 22.


Example 2:

Input :      
         20
       /    \
      7      24
    /   \
   4     3
        /  
       1    

Target Node = 7
K = 2

Output: 1 24


Your Task:  
You dont need to read input or print anything. Complete the function KDistanceNodes() which takes the root of the tree, target and K as input parameters and returns a list of nodes at k distance from target. 


Expected Time Complexity: O(N)
Expected Auxiliary Space: O(height of tree)


Constraints:
1 ≤ N ≤ 10^3
1 ≤ data of node ≤ 10000
1 ≤ target ≤ 10000
1 ≤ k ≤ 20

 

** For More Input/Output Examples Use 'Expected Output' option **

Contributor: Ayush Govil
Author: Ayush Govil 1


If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.



Need help with your code? Please use ide.geeksforgeeks.org, generate link and share the link here.


to report an issue on this page.