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 

postorder traversal

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

  1. Average of Levels in Binary Tree
  2. InOrder Traversal of Tree
  3. PostOrder Traversal of Tree

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