Aug 232012
 

Given a Binary Tree and a positive integer ‘k’, write code which will print all the nodes which are at distance ‘k’ from the root.

For example: For Binary Tree on the right side, Following are the nodes which should get printed for the below values of ‘k’

 k     output
---    -------
 0     10
 1     5 30
 2     4 8 40
 3     1


Solution:

    void printNodeAtDistance(Node *root , int k)    
    {
        if(root == NULL || k < 0) 
            return;

        if( k == 0 )
        {
            printf( "%d ", root->data );
        }
        else
        {      
            printNodeAtDistance( root->left, k-1 ) ;
            printNodeAtDistance( root->right, k-1 ) ;
        }
    }

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)