Skip to content

Instantly share code, notes, and snippets.

@alguerocode
Created June 28, 2022 08:25
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alguerocode/ae1b40b7720635f56a4ac18488c525d9 to your computer and use it in GitHub Desktop.
Save alguerocode/ae1b40b7720635f56a4ac18488c525d9 to your computer and use it in GitHub Desktop.
class TreeNode {
constructor(value) {
this.value = value;
this.left = null;
this.right = null;
}
}
class BainaryTree {
constructor(root) {
this.root = root;
}
preOrderTraversal(node) {
if (node == null) {
return [];
}
let result = [node.value];
result = result.concat(this.preOrderTraversal(node.left));
result = result.concat(this.preOrderTraversal(node.right));
return result;
}
inOrderTraversal(node) {
if (node == null) {
return [];
}
let result = [];
result = result.concat(this.inOrderTraversal(node.left));
result.push(node.value);
result = result.concat(this.inOrderTraversal(node.right));
return result;
}
postOrderTraversal(node) {
if (node == null) {
return [];
}
let result = [];
result = result.concat(this.postOrderTraversal(node.left));
result = result.concat(this.postOrderTraversal(node.right));
result.push(node.value);
return result;
}
}
const node = new TreeNode(1);
node.left = new TreeNode(2);
node.left.left = new TreeNode(2);
node.left.right = new TreeNode(11);
node.right = new TreeNode(3);
node.right.right = new TreeNode(3);
const tree = new BainaryTree(node);
console.log(tree.preOrderTraversal(tree.root));
console.log(tree.inOrderTraversal(tree.root));
console.log(tree.postOrderTraversal(tree.root));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment