@@ -171,10 +171,10 @@ class Solution {
171
171
int rightValue = sumOfLeftLeaves(root. right); // 右
172
172
173
173
int midValue = 0 ;
174
- if (root. left != null && root. left. left == null && root. left. right == null ) { // 中
174
+ if (root. left != null && root. left. left == null && root. left. right == null ) {
175
175
midValue = root. left. val;
176
176
}
177
- int sum = midValue + leftValue + rightValue;
177
+ int sum = midValue + leftValue + rightValue; // 中
178
178
return sum;
179
179
}
180
180
}
@@ -242,37 +242,10 @@ class Solution:
242
242
243
243
cur_left_leaf_val = 0
244
244
if root.left and not root.left.left and not root.left.right:
245
- cur_left_leaf_val = root.left.val # 中
245
+ cur_left_leaf_val = root.left.val
246
246
247
- return cur_left_leaf_val + left_left_leaves_sum + right_left_leaves_sum
247
+ return cur_left_leaf_val + left_left_leaves_sum + right_left_leaves_sum # 中
248
248
```
249
- > 递归前序遍历
250
- ```python3
251
- # Definition for a binary tree node.
252
- # class TreeNode:
253
- # def __init__(self, val=0, left=None, right=None):
254
- # self.val = val
255
- # self.left = left
256
- # self.right = right
257
- class Solution:
258
- def sumOfLeftLeaves(self, root: TreeNode) -> int:
259
- # 需要通过中节点来判断其的左节点是否存在;左节点自己的左右节点也是否存在
260
-
261
- if not root: return 0
262
-
263
- # 初始化left_leaf备用
264
- left_leaf = 0
265
- # 若当前节点的左孩子就是左叶子
266
- if root.left and not root.left.left and not root.left.right:
267
- left_leaf = root.left.val
268
-
269
- left_left_leaves_sum = self.sumOfLeftLeaves(root.left)
270
- right_left_leaves_sum = self.sumOfLeftLeaves(root.right)
271
-
272
-
273
- return left_leaf + left_left_leaves_sum + right_left_leaves_sum
274
- ```
275
-
276
249
277
250
> 迭代
278
251
```python3
0 commit comments