Idea
attention:先看清楚题目,题目说的是左叶子结点,不是左结点【泣不成声】
遇到像这种二叉树类型的题目呢,我们一般还是选择dfs,然后类似于前序遍历的方式加上判断条件即可
AC Code
class Solution {
public:void dfs(TreeNode *root, int &sum) {if(root) {if(root->left && !root->left->left && !root->left->right) sum += root->left->val;dfs(root->left, sum);dfs(root->right, sum);}} int sumOfLeftLeaves(TreeNode* root) {int ans = 0;dfs(root, ans);return ans;}
};