class Solution {
public int sumOfLeftLeaves(TreeNode root) {
Queue<TreeNode> queue = new LinkedList<>();
int sum = 0;
if(root == null) return sum;
queue.add(root);
while(!queue.isEmpty()){
int size = queue.size();
while(size-- > 0){
TreeNode node = queue.poll();
if(node.left != null){
queue.add(node.left);
//层序遍历,如果左节点满足没有子节点,那么就是左子叶,计算sum,否则就继续遍历
if(node.left.left == null && node.left.right == null) sum += node.left.val;
}
if(node.right != null){
queue.add(node.right);
}
}
}
return sum;
}
}
404. 左叶子之和
最新推荐文章于 2025-12-17 19:02:04 发布
本文介绍了一种名为'左叶子之和'的算法,通过使用队列实现深度优先的层序遍历,计算二叉树中所有左叶子节点的值之和。适用于解决与二叉树结构相关的编程问题。
606

被折叠的 条评论
为什么被折叠?



