面试题答案
一键面试interface TreeNode<T> {
value: T;
children: TreeNode<T>[] | null;
}
function dfsSearch<T>(root: TreeNode<T>, callback: (value: T) => boolean): T[] {
const result: T[] = [];
function traverse(node: TreeNode<T>) {
if (callback(node.value)) {
result.push(node.value);
}
if (node.children) {
for (const child of node.children) {
traverse(child);
}
}
}
traverse(root);
return result;
}