添加0404.左叶子之和.md层序迭代解法Java代码
This commit is contained in:
parent
4ac5daebe8
commit
b83cc1602a
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue