티스토리 뷰

leetcode.com/problems/sum-of-left-leaves/

 

Sum of Left Leaves - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

Find the sum of all left leaves in a given binary tree.

Example:

    3
   / \
  9  20
    /  \
   15   7

There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.

 

var sumOfLeftLeaves = function(root) {
    let result = 0;
    const dfs = (root, isLeft) => {
        if(!root) return;
        if(isLeft && !root.left && !root.right) {
            result += root.val;
            return;
        }
        
        dfs(root.left, true);
        dfs(root.right, false);
    }
    dfs(root);
    return result;
};

dfs로 순회를 하면서 현재 노드가 부모로부터 왼쪽 자식인지를 기록하면서 순회한다. 부모의 왼쪽 노드이면서 왼쪽, 오른쪽 자식이 없는 잎노드 일 경우 결과에 현재 노드의 value를 더해준다.

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함