문제링크
404. Sum of Left Leaves
Given the root of a binary tree, return the sum of all left leaves.
A leaf is a node with no children. A left leaf is a leaf that is the left child of another node.
left leaves 의 합을 구하면 되는 문제이다.
기억하면 좋을 것
재귀로 문제를 풀 때 종료 조건을 꼼꼼히 생각 해 보자.
이번에 문제를 풀 때 left child가 없고 right child 만 있을때의 경우를 생각해 주지 않아서 틀렸었는데
그래서 제출을 3번 정도 하고나서야 정답을 맞출 수 있었다.
지금껏 풀던대로 종료 조건, 반복 조건을 생각하고 문제를 풀어야겠다.
해결 코드
/**
* Definition for a binary tree node.
* function TreeNode(val, left, right) {
* this.val = (val===undefined ? 0 : val)
* this.left = (left===undefined ? null : left)
* this.right = (right===undefined ? null : right)
* }
*/
/**
* @param {TreeNode} root
* @return {number}
*/
var sumOfLeftLeaves = function (root) {
return dfs(root);
};
let dfs = (node) => {
if(!node) return 0;
if(!node.left && !node.right) return 0;
if(!node.left && node.right) return 0 + dfs(node.right);
if((!node.left.left && !node.left.right)) return node.left.val + dfs(node.right);
return dfs(node.left) + dfs(node.right);
}
Submission Detail
'알고리즘 > leetcode' 카테고리의 다른 글
[LeetCode/MSSQL] 196. Delete Duplicate Emails (1) | 2024.01.28 |
---|---|
[Leetcode/JS] 226. Invert Binary Tree (0) | 2023.07.18 |
[Leetcode/JS] 111. Minimum Depth of Binary Tree (0) | 2023.07.13 |
[leetcode/JS] 234. Palindrome Linked List / Javascript (0) | 2022.08.27 |
[leetcode/JS] 234. Palindrome Linked List / Javascript (0) | 2022.08.25 |
댓글