LeetCode 404左葉の合計

LeetCode 404左葉の合計

トピックリンク

指定されたバイナリツリーのすべての左の葉の合計を計算します。

例:

   3
   / \
  9  20
    /  \
   15   7

このバイナリツリーには、9と15の2つの左葉があるため、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