This is 7th part of java binary tree tutorial.
In this post, we will see about program to print leaf nodes in a binary tree in java
Example:
Binary tree:
Lets create java program for counting number of leaf nodes:
In this post, we will see about program to print leaf nodes in a binary tree in java
Algorithm
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.
// 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:
Lets create java program for counting number of leaf nodes:
package org.arpit.java2blog; public class BinaryTree { 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) { BinaryTree bi=new BinaryTree(); // Creating a binary tree 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
Java Binary tree tutorial:

Binary tree in java
Binary tree preorder traversal
Binary tree postorder traversal
Binary tree inorder traversal
Binary tree level order traversal
Binary tree spiral order traversal
Binary tree reverse level order traversal
Binary tree boundary traversal
Print leaf nodes of binary tree
Count leaf nodes in binary tree
get maximum element in binary tree
Print all paths from root to leaf in binary tree
Print vertical sum of binary tree in java
Get level of node in binary tree in java
Lowest common ancestor(LCA) in binary tree in java