Consider lines of slope -1 passing between nodes. Given a Binary Tree, print all diagonal elements in a binary tree belonging to same line.
Input : Root of below tree
Output : Diagonal Traversal of binary tree : 8 10 14 3 6 7 13 1 4
We have discussed recursive solution in below post.
In this post, iterative solution is discussed. The idea is to use a queue to store only the left child of current node. After printing the data of current node make the current node to its right child, if present.
A delimiter NULL is used to mark the starting of next diagonal.
Below is the implementation of above approach.
8 10 14 3 6 7 13 1 4
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Check if a binary tree is subtree of another binary tree using preorder traversal : Iterative
- Construct Full Binary Tree using its Preorder traversal and Preorder traversal of its mirror tree
- Kth node in Diagonal Traversal of Binary Tree
- Diagonal Traversal of Binary Tree
- Iterative Boundary Traversal of Complete Binary tree
- Check whether a binary tree is a full binary tree or not | Iterative Approach
- Level order traversal of Binary Tree using Morris Traversal
- Iterative Preorder Traversal of an N-ary Tree
- Iterative Postorder Traversal of N-ary Tree
- Given level order traversal of a Binary Tree, check if the Tree is a Min-Heap
- Iterative Preorder Traversal
- Iterative Postorder Traversal | Set 1 (Using Two Stacks)
- Iterative Postorder Traversal | Set 2 (Using One Stack)
- Iterative Postorder traversal | Set 3
- Diagonal Sum of a Binary Tree
- Complexity of different operations in Binary tree, Binary Search Tree and AVL tree
- Check whether a given Binary Tree is Complete or not | Set 1 (Iterative Solution)
- Iterative Method to find Height of Binary Tree
- Iterative program to count leaf nodes in a Binary Tree
- Count half nodes in a Binary tree (Iterative and Recursive)
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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.