# Print All The Nodes Which are X distance from the Root

Objective: Given Binary Tree, Print all the nodes which are X distance from the root

Example :

Appraoch:

• Idea is very simple.
• Do the preorder traversal, pass x as parameter.
• While going down, at each level, keep reducing the x by 1
• When x = 0 , the means you have reached to the nodes which are at x distance from root, Print them.

Complete Code:

 public class PrintNodesAtKDistance { public void print(Node root, int k) { if (root != null) { if (k == 0) { System.out.print(" " + root.data); } print(root.left, —k); print(root.right, k); } } public static void main(String[] args) throws java.lang.Exception { Node root = new Node(1); root.left = new Node(2); root.right = new Node(3); root.left.left = new Node(4); root.left.right = new Node(5); root.left.right.left = new Node(6); root.left.right.right = new Node(7); root.right.right = new Node(8); root.right.right.right = new Node(9); PrintNodesAtKDistance i = new PrintNodesAtKDistance(); System.out.println("Nodes at 3 distance from root : "); i.print(root, 3); } } class Node { int data; Node left; Node right; public Node(int data) { this.data = data; this.left = null; this.right = null; } }

```Output:
Nodes at 3 distance from root :
6 7 9
```