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