Print even and odd level nodes in binary tree in node js

Js program for Print even and odd level nodes in binary tree. Here mentioned other language solution.
/*
Node JS program for
Print the nodes of even and odd levels of binary tree
*/
// Binary Tree node
class TreeNode
{
constructor(data)
{
// Set node value
this.data = data;
this.left = null;
this.right = null;
}
}
class BinaryTree
{
constructor()
{
this.root = null;
}
// Print all nodes which is exist in odd Level
oddLevel(node, level)
{
if (node != null)
{
if (level % 2 != 0)
{
// Display even odd node value
process.stdout.write(" " + node.data);
}
this.oddLevel(node.left, level + 1);
this.oddLevel(node.right, level + 1);
}
}
// Print all nodes which is exist in even Level
evenLevel(node, level)
{
if (node != null)
{
if (level % 2 == 0)
{
// Display even level node value
process.stdout.write(" " + node.data);
}
this.evenLevel(node.left, level + 1);
this.evenLevel(node.right, level + 1);
}
}
}
function main()
{
// Create new tree
var tree = new BinaryTree();
/*
Binary Tree
-------------
10
/ \
2 4
/ / \
3 6 5
\ \
9 7
\
11
*/
// Add tree nodes
tree.root = new TreeNode(10);
tree.root.left = new TreeNode(2);
tree.root.left.left = new TreeNode(3);
tree.root.left.left.right = new TreeNode(9);
tree.root.right = new TreeNode(4);
tree.root.right.right = new TreeNode(5);
tree.root.right.left = new TreeNode(6);
tree.root.right.left.right = new TreeNode(7);
tree.root.right.left.right.right = new TreeNode(11);
process.stdout.write("\n Even Level Nodes : ");
tree.evenLevel(tree.root, 1);
process.stdout.write("\n Odd Level Nodes : ");
tree.oddLevel(tree.root, 1);
}
// Start program execution
main();
Output
Even Level Nodes : 2 9 4 7
Odd Level Nodes : 10 3 6 11 5
Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.
New Comment