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