Thursday, May 5, 2022

Question 60 : How to count leaf nodes of binary tree.

You need to write a java program to count leaf nodes of a binary tree.

The count of Leaf nodes for the binary tree used in Question 15 is 5.

Algorithm-


Steps for counting number of leaf nodes are:
    • If node is null then return 0
    • If encountered leaf node(i.e. node.left is null and node.right is null) then return 1.
    • Recursively calculate number of leaf nodes using


Number of leaf nodes= number of leaf nodes in left subtree + number of leaf nodes
Code for recursion will be:

// Recursive Solution /* To get the count of leaf nodes in a binary tree*/ public static int getLeafCountOfBinaryTree(TreeNode node) { if(node == null) return 0; if(node.left ==null && node.right==null) return 1; else return getLeafCountOfBinaryTree(node.left)+ getLeafCountOfBinaryTree(node.right); }

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

public class BinaryTreeLeafCount { public static class TreeNode { int data; TreeNode left; TreeNode right; TreeNode(int data) { this.data=data; } } // Recursive Solution /* To get the count of leaf nodes in a binary tree*/ public static int getLeafCountOfBinaryTree(TreeNode node) { if(node == null) return 0; if(node.left ==null && node.right==null) return 1; else return getLeafCountOfBinaryTree(node.left)+ getLeafCountOfBinaryTree(node.right); } public static void main(String[] args) { // Creating a binary tree TreeNode rootNode=createBinaryTree(); System.out.println("Number of leaf nodes in binary tree :"+getLeafCountOfBinaryTree(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); rootNode.left=node20; rootNode.right=node60; node20.left=node10; node20.right=node30; node60.left=node50; node60.right=node70; return rootNode; } }

Run the above program and you will get the following output:


Number of leaf nodes in binary tree :4

Don't miss the next article! 

Be the first to be notified when a new article or Kubernetes experiment is published.                            

 

 Share This

You may also like

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