## Thursday, May 5, 2022

### Question 59 : How can you print leaf nodes of binary tree?

Steps for counting number of leaf nodes are:

• If node is null then return 0
• If encounterd leaf node(i.e. node.left is null and node.right is null) then print the node.
• Recursively visit leaf subtree and right subtree.

Code for recursion will be:

`````` // Recursive Solution
// print leaf nodes
public static void printLeafNodes(TreeNode node) {

if(node==null)
return;

if(node.left == null && node.right == null) {
System.out.printf("%d ",node.data);
}
printLeafNodes(node.left);
printLeafNodes(node.right);
}``````

Example:
Binary tree:

Let's create java program for counting the number of leaf nodes:

``````public class BinaryTreePrintLeafNodes {

public static class TreeNode
{
int data;
TreeNode left;
TreeNode right;
TreeNode(int data)
{
this.data=data;
}
}

// Recursive Solution
// print leaf nodes
public static void printLeafNodes(TreeNode node) {

if(node==null)
return;

if(node.left == null && node.right == null) {
System.out.printf("%d ",node.data);
}
printLeafNodes(node.left);
printLeafNodes(node.right);
}

public static void main(String[] args)
{
// Creating a binary tree
TreeNode rootNode=createBinaryTree();
System.out.println("Printing leaf nodes in binary tree :");
printLeafNodes(rootNode);
}

public static TreeNode createBinaryTree()
{

TreeNode rootNode =new TreeNode(40);
TreeNode node20=new TreeNode(20);
TreeNode node10=new TreeNode(10);
TreeNode node30=new TreeNode(30);
TreeNode node60=new TreeNode(60);
TreeNode node50=new TreeNode(50);
TreeNode node70=new TreeNode(70);

TreeNode node5=new TreeNode(5);
TreeNode node55=new TreeNode(55);

rootNode.left=node20;
rootNode.right=node60;

node20.left=node10;
node20.right=node30;

node60.left=node50;
node60.right=node70;

node10.left=node5;
node50.right=node55;
return rootNode;
}
}``````
Run above program and you will get following output:
``````Printing leaf nodes in binary tree :
5 30 55 70``````

Don't miss the next article!
Be the first to be notified when a new article or Kubernetes experiment is published.

## You may also like

Kubernetes Microservices
Python AI/ML
Spring Framework Spring Boot
Core Java Java Coding Question
Maven AWS