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 

postorder traversal

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

  1. InOrder Traversal of Tree
  2. PostOrder Traversal of Tree
  3. Same Tree

If you liked it, please share your thoughts in a comments section and share it with others too.