😎풀이

  1. 현재 노드까지의 비트 합계를 상태로 갖으며 깊이 우선 탐색
    1-1. 노드가 있을 경우 합산하며 추가 탐색
    1-2. 노드가 없을 경우 현재까지의 합계를 누산
  2. 총 합계 반환
function sumRootToLeaf(root: TreeNode | null): number {
    if(!root) return 0
    let total = 0
    function dfs(node: TreeNode, sum: number) {
        if(!node.left && !node.right) {
            console.log(sum)
            total += sum
            return
        }
        if(node.left) dfs(node.left, (sum << 1) + node.left.val)
        if(node.right) dfs(node.right, (sum << 1) + node.right.val)
    }
    dfs(root, root.val)

    return total
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글