LeetCode 404 左叶子之和
计算给定二叉树的所有左叶子之和。
示例:
3
/ \
9 20
/ \
15 7
在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24
对二叉树进行 BFS,如果某个结点的左子结点是叶子结点就加到答案里,AC代码如下:
class Solution {
public:
int sumOfLeftLeaves(TreeNode* root) {
int ans=0;
queue<TreeNode*>q;
q.push(root);
while(!q.empty()){
TreeNode* t=q.front();
q.pop();
if(t){
if(t->left){
q.push(t->left);
if(t->left->left==NULL&&t->left->right==NULL) ans+=t->left->val;
}
if(t->right) q.push(t->right);
}
}
return ans;
}
};