Flatten Binary Tree to Linked List
MediumLinked ListStackTreeDepth-First SearchBinary Tree
Solution
import { TreeNode } from '@algorithm/lib';
export function flatten(root: TreeNode | null): void {
let lastNode: TreeNode | null = null;
function traverse(node: TreeNode | null) {
if (node === null) {
return null;
}
traverse(node.right);
traverse(node.left);
node.right = lastNode;
node.left = null;
lastNode = node;
}
traverse(root);
}