美文网首页
Day3 EP-404 Sum of Left Leaves

Day3 EP-404 Sum of Left Leaves

作者: 李庆文 | 来源:发表于2018-02-01 01:08 被阅读13次

    一.问题描述 Sum of Left Leaves

    问题描述

    二.问题解决

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        int sumOfLeftLeaves(TreeNode* root) {
            int num=0;
            if(!root){
                return 0;
            }
            if(root->left && !root->left->left && !root->left->right){
                num=root->left->val;
            }
            return num + sumOfLeftLeaves(root->left)+ sumOfLeftLeaves(root->right);
        }
    };
    

    二叉树的题目,多用递归方法,重点在于找准跳出递归的出口,也就是真正的return的部分;

    本题目的出口就在于一个是当节点为空的时候,返回0;
    当节点的孩子的孩子为空的时候(说明此时是叶子节点),返回节点的左孩子的值;
    当不是孩子不是叶子节点的时候,返回左子树左叶子值加上右子树节点的左孩子的值。

    以上,继续加油啦。

    相关文章

      网友评论

          本文标题:Day3 EP-404 Sum of Left Leaves

          本文链接:https://www.haomeiwen.com/subject/ybdrzxtx.html