添加0404.左叶子之和.md层序迭代解法Java代码

This commit is contained in:
ironartisan
2021-09-05 10:27:23 +08:00
parent 4ac5daebe8
commit b83cc1602a

View File

@ -201,7 +201,31 @@ class Solution {
}
}
```
```java
// 层序遍历迭代法
class Solution {
public int sumOfLeftLeaves(TreeNode root) {
int sum = 0;
if (root == null) return 0;
Queue<TreeNode> queue = new LinkedList<>();
queue.offer(root);
while (!queue.isEmpty()) {
int size = queue.size();
while (size -- > 0) {
TreeNode node = queue.poll();
if (node.left != null) { // 左节点不为空
queue.offer(node.left);
if (node.left.left == null && node.left.right == null){ // 左叶子节点
sum += node.left.val;
}
}
if (node.right != null) queue.offer(node.right);
}
}
return sum;
}
}
```
## Python