The Eduladder is a community of students, teachers, and programmers just interested to make you pass any exams. So we help you to solve your academic and programming questions fast.
In eduladder you can Ask,Answer,Listen,Earn and Download Questions and Question papers.
Watch related videos of your favorite subject.
Connect with students from different parts of the world.
Apply or Post Jobs, Courses ,Internships and Volunteering opportunity. For FREE
See Our team
Wondering how we keep quality?
Got unsolved questions? Ask Questions

PROGRAMMINGMACHINE-LEARNING-->View question

How to Print all leaves of a binary search tree?

its about How to Print all leaves of a binary search tree


Asked On2019-09-03 18:20:02 by:Annaliya

Taged users:


Likes:
Be first to like this question

Dislikes:
Be first to dislike this question
Talk about this  Like  Dislike
View all qusetions
Answers
In order to print the leaf nodes of binary tree, we'll use the following algorithm:

1) If given node is null then return
2) If both left and right nodes are null, it means its leaf node, so print its value.
3) Recursively visit the left and right subtree.

This logic is same is recursive in order traversal (see Introduction to Algorithms), but instead of just printing the node value after left and right subtree traversals, we also check to see if the current node is a leaf node or not nd then print the node value. If both left and right child of a node are null then it's a leaf node.

Here is the code to print all leaf nodes of binary tree recursively:

public static void printLeafNodes(TreeNode node) {
    // base case
    if (node == null) {
      return;
    }

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

    printLeafNodes(node.left);
    printLeafNodes(node.right);
  }

You can see that we are printing the value of leaf and then calling the same method again for left and right subtree to print all leafs recursively. The node == null check serves as the base case to stop traversal, a key element of a recursive algorithm. If you don't have a base case then your program will never terminate and eventually die with StackOverFlowError.



Answerd on:2019-09-04 Answerd By:Tanisha-Garg

Likes:
Be first to like this answer

Dislikes:
Be first to dislike this answer
Talk about this  Like  Dislike

You might like this video:Watch more here

Watch more videos from this user Here

Learn how to upload a video and start earning here



Lets together make the web is a better place

We made eduladder by keeping the ideology of building a supermarket of all the educational material available under one roof. We are doing it with the help of individual contributors like you, interns and employees. So the resources you are looking for can be easily available and accessible also with the freedom of remix reuse and reshare our content under the terms of creative commons license with attribution required close.

You can also contribute to our vision of "Helping student to pass any exams" with these.
Answer a question: You can answer the questions not yet answered in eduladder.How to answer a question
Career: Work or do your internship with us.Work with us
Create a video: You can teach anything and everything each video should be less than five minutes should cover the idea less than five min.How to upload a video on eduladder