Leetcode: Sum of Left Leaves
LeetCode of sum left
2023-09-11 14:14:07 时间
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.
Recursion: 是不是left子数完全由bottom往上第二层决定,如果是left子树且是叶子节点,那么就是left leaves, parent得告诉child是不是在left子树
1 /** 2 * Definition for a binary tree node. 3 * public class TreeNode { 4 * int val; 5 * TreeNode left; 6 * TreeNode right; 7 * TreeNode(int x) { val = x; } 8 * } 9 */ 10 public class Solution { 11 public int sumOfLeftLeaves(TreeNode root) { 12 return helper(root, false); 13 } 14 15 public int helper(TreeNode cur, boolean isLeft) { 16 if (cur == null) return 0; 17 if (isLeft && cur.left==null && cur.right==null) return cur.val; 18 return helper(cur.left, true) + helper(cur.right, false); 19 } 20 }
BFS:
1 public class Solution { 2 public int sumOfLeftLeaves(TreeNode root) { 3 if(root == null || root.left == null && root.right == null) return 0; 4 5 int res = 0; 6 Queue<TreeNode> queue = new LinkedList<>(); 7 queue.offer(root); 8 9 while(!queue.isEmpty()) { 10 TreeNode curr = queue.poll(); 11 12 if(curr.left != null && curr.left.left == null && curr.left.right == null) res += curr.left.val; 13 if(curr.left != null) queue.offer(curr.left); 14 if(curr.right != null) queue.offer(curr.right); 15 } 16 return res; 17 } 18 }
相关文章
- [LeetCode] Number of 1 Bits & Reverse Integer - 整数问题系列
- Java实现 LeetCode 833 字符串中的查找与替换(暴力模拟)
- Java实现 LeetCode 815 公交路线(创建关系+BFS)
- Java实现 LeetCode 754 到达终点数字(暴力+反向)
- Java实现 LeetCode 592 分数加减运算(纯体力活)
- Java实现 LeetCode 566 重塑矩阵(遍历矩阵)
- Java实现 LeetCode 543. 二叉树的直径(遍历树)
- Java实现 LeetCode 239 滑动窗口最大值
- Java实现 LeetCode 68 文本左右对齐
- Java实现 LeetCode 52 N皇后 II
- (LeetCode 160)Intersection of Two Linked Lists
- LeetCode:4_Median of Two Sorted Arrays | 求两个排序数组的中位数 | Hard
- 【LeetCode算法-58/66】Length of Last Word/Plus One
- [LeetCode] Intersection of Two Arrays
- [LeetCode] Number of Islands
- [LeetCode] Intersection of Two Linked Lists
- LeetCode-1487. 保证文件名唯一【哈希表,字符串】
- Leetcode 专项刷题题解---- 动态规划
- [LeetCode]235.Lowest Common Ancestor of a Binary Search Tree
- Leetcode 216. 组合总和 III
- [LeetCode] 201. Bitwise AND of Numbers Range ☆☆☆(数字范围按位与)
- [LeetCode] 112. Path Sum ☆(二叉树是否有一条路径的sum等于给定的数)
- LeetCode Median of Two Sorted Arrays
- 【Leetcode】Length of Last Word
- leetcode 19 -- Remove Nth Node From End of List
- leetcode 572. Subtree of Another Tree
- 【Mac系统】Vscode使用LeetCode插件报错‘leetcode.toggleLeetCodeCn‘ not found
- 【Leetcode刷题Python】309. 最佳买卖股票时机含冷冻期
- 【Leetcode刷题Python】 LeetCode 2038. 如果相邻两个颜色均相同则删除当前颜色