Given a Binary tree, the task is to print all the internal nodes in a tree.
An internal node is a node which carries at least one child or in other words, an internal node is not a leaf node. Here we intend to print all such internal nodes in level order. Consider the following Binary Tree:
Output: 15 10 20
The way to solve this involves a BFS of the tree. The algorithm is as follows:
- Do a level order traversal by pushing nodes in the queue one by one.
- Pop the elements from the queue one by one and keep a track of following cases:
- The node has a left child only.
- The node has a right child only.
- The node has both left and right child.
- The node has no children at all.
- Except for case 4, print the data in the node for all the other 3 cases.
Below is the implementation of the above approach:
1 2 3 5 6
- Print Nodes in Top View of Binary Tree
- Print all even nodes of Binary Search Tree
- Print path between any two nodes in a Binary Tree
- Print nodes in top view of Binary Tree | Set 2
- Print all nodes between two given levels in Binary Tree
- Print nodes in the Top View of Binary Tree | Set 3
- Print Levels of all nodes in a Binary Tree
- Print all odd nodes of Binary Search Tree
- Print all nodes in a binary tree having K leaves
- Print all full nodes in a Binary Tree
- Print all leaf nodes of a Binary Tree from left to right
- Print leftmost and rightmost nodes of a Binary Tree
- Print the nodes of binary tree as they become the leaf node
- Print Sum and Product of all Non-Leaf nodes in Binary Tree
- Print nodes between two given level numbers of a binary tree
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : prerna saini