Binary Tree Traversal (Depth First Search)

Problem

Practice forward and backward traversal of the binary tree as shown in the figure below.


tree

output

  • Pre-traversal output: 1 2 4 5 3 6 7
  • Inter-traversal output: 4 2 5 1 6 3 7
  • Post-traversal output: 4 5 2 6 7 3 1

Solution

Pre traversal

function solution(n) {
	let answer = '';

	function DFS(v) {
		if (v > 7) return;
		answer += v;
		DFS(v * 2);
		// when this finish then next recursive
		DFS(v * 2 + 1);
	}

	DFS(n);

	return answer;
}

Inter traversal

function solution(n) {
	let answer = '';

	function DFS(v) {
		if (v > 7) return;
		DFS(v * 2);
		answer += v;
		// when this finish then next recursive
		DFS(v * 2 + 1);
	}

	DFS(n);

	return answer;
}

Post traversal

function solution(n) {
	let answer = '';

	function DFS(v) {
		if (v > 7) return;
		DFS(v * 2);
		// when this finish then next recursive
		DFS(v * 2 + 1);
		answer += v;
	}

	DFS(n);

	return answer;
}