history
: 현재까지 발견된 노드 값dfs
: 깊이 우선 탐색하며, 현재 노드 값과 이전 값들을 더해 k
를 만들 수 있는지 확인dfs
함수에 root
를 전달하여 가능여부 확인function findTarget(root: TreeNode | null, k: number): boolean {
const history = new Set<number>()
function dfs(node: TreeNode | null) {
if(!node) return false
if(history.has(k - node.val)) return true
history.add(node.val)
return dfs(node.left) || dfs(node.right)
}
return dfs(root)
};