计算给定二叉树的所有左叶子之和。
示例:
3/ \9 20/ \15 7
在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24
代码如下:
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int sumOfLeftLeaves(TreeNode* root) {if (root==nullptr) return 0;int ans = 0;if (root->left!=nullptr && root->left->left==nullptr && root->left->right==nullptr)ans +=root->left->val;return ans+sumOfLeftLeaves(root->left)+sumOfLeftLeaves(root->right);}
};