😎풀이

  1. dfs 함수는 node와 왼쪽 여부를 나타내는 isLeft를 입력 받도록 정의
  2. leaf 노드이며, 왼쪽 노드일 경우 현재 값 반환
  3. 왼쪽 깊이 우선 탐색
  4. 오른쪽 깊이 우선 탐색
  5. 탐색 결과 합계 반환
function sumOfLeftLeaves(root: TreeNode | null): number {
    if(!root) return 0
    function dfs(node: TreeNode, isLeft: boolean) {
        if(!node) return 0
        if(!node.left && !node.right) return isLeft ? node.val : 0
        const leftSide = dfs(node.left, true)
        const rightSide = dfs(node.right, false)
        return leftSide + rightSide
    }
    return dfs(root, false)
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글