Tree Traversal
A place to stick all my tree traversal algorithms so I don't forget them
Don't want to forget these.
function inorderTraversal(root: TreeNode | null): number[] {
if(root === null) {
return [];
} else {
const {val, left, right} = root;
return [...inorderTraversal(left), val, ...inorderTraversal(right)];
}
};
function inorderTraversal(root: TreeNode | null): number[] {
if(root === null) {
return [];
} else {
const stack = [];
const output = [];
let node = root;
while(node !== null || stack.length > 0) {
while(node !== null) {
stack.push(node);
node = node.left;
}
node = stack.pop();
output.push(node.val);
node = node.right;
}
return output;
}
};