😎풀이

  1. history: 현재까지 발견된 노드 값
  2. dfs: 깊이 우선 탐색하며, 현재 노드 값과 이전 값들을 더해 k를 만들 수 있는지 확인
  3. 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)
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글