Find Largest Value in Each Tree Row
MediumTreeDepth-First SearchBreadth-First SearchBinary Tree
Solution
import { TreeNode } from '@algorithm/lib';
export function largestValues(root: TreeNode | null): number[] {
if (!root) {
return [];
}
const answer: number[] = [];
const find = (node: TreeNode, depth: number) => {
answer[depth] = Math.max(answer[depth] ?? Number.MIN_SAFE_INTEGER, node.val);
node.left && find(node.left, depth + 1);
node.right && find(node.right, depth + 1);
};
find(root, 0);
return answer;
}