LeetCode 404 左叶子之和

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;
    }
};

猜你喜欢

转载自blog.csdn.net/qq_43765333/article/details/108676868