PostOrder Traversal of Tree in Java | Tree Problem
4 years ago Lalit Bhagtani 0
Problem Statement
You have given a binary tree, return the postorder traversal of its node values.
Example
Post order traversal of above binary tree is [2, 6, 9, 5, 8, 15, 1, 7, 20, 3]
Algorithm
Postorder traversal is also known as postfix traversal. In postorder traversal, we recursively process all the nodes of a tree. First we traverse the left subtree, then the right subtree and finally the root node. (Left – Right – Root)
Program
import java.util.ArrayList; import java.util.List; public class PostOrderTraversal { public static void main(String[] args) { PostOrderTraversal pot = new PostOrderTraversal(); TreeNode node = new TreeNode(1); node.left = new TreeNode(2); node.right = new TreeNode(3); node.left.left = new TreeNode(4); node.left.right = new TreeNode(5); node.right.left = new TreeNode(6); node.right.right = new TreeNode(7); List<Integer> result = pot.traversal(node); result.stream().forEach(System.out::print); } public List<Integer> traversal(TreeNode root) { List<Integer> result = new ArrayList<>(); postOrder(root, result); return result; } public void postOrder(TreeNode node, List<Integer> result){ if(node == null) return; postOrder(node.left, result); postOrder(node.right, result); result.add(node.val); } public static class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } }
Result
4526731
Similar Post
If you liked it, please share your thoughts in a comments section and share it with others too.