m2skills

print leafs bt cpp

May 16th, 2018
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.37 KB | None | 0 0
  1. // program to print leaf nodes in a binary tree
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. // node class
  7. class node{
  8. public:
  9.     int data;
  10.     node* left;
  11.     node* right;
  12. };
  13.  
  14. // function that returns a pointer to new node
  15. node* createNode(int element){
  16.     node* temp = (node*) malloc(sizeof(node));
  17.     temp->data = element;
  18.     temp->left = NULL;
  19.     temp->right = NULL;
  20.     return temp;
  21. }
  22.  
  23. // function to print all leaf nodes in a tree using inorder traversal
  24. void print_leaves(node* root){
  25.     if (root != NULL){
  26.         print_leaves(root->left);
  27.         if(root->left == NULL && root->right == NULL){
  28.             cout<<root->data<<" ";
  29.         }
  30.         print_leaves(root->right);
  31.     }
  32. }
  33.  
  34. int main() {
  35.     node* head = createNode(1);
  36.     head->left = createNode(2);
  37.     head->right = createNode(3);
  38.     head->left->left = createNode(4);
  39.     head->left->right = createNode(5);
  40.     head->right->right = createNode(6);
  41.     head->left->left->right = createNode(7);
  42.     head->right->right->left = createNode(8);
  43.     head->left->left->right->left = createNode(9);
  44.     head->left->left->right->left->left = createNode(10);
  45.     head->right->right->left->right = createNode(11);
  46.  
  47.     cout<<"leaf nodes of the given tree are : "<<endl;
  48.     print_leaves(head);
  49.  
  50. }
  51.  
  52.  
  53.  
  54. /*
  55.  
  56. leaf nodes of the given tree are :
  57. 10 5 11
  58. Process finished with exit code 0
  59.  
  60. */
Add Comment
Please, Sign In to add comment