zoukankan      html  css  js  c++  java
  • Sum of Left Leaves

    Find the sum of all left leaves in a given binary tree.

    Example:

        3
       / 
      9  20
        /  
       15   7
    
    There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.
    

    Analyse: Check if the current node has left child and if the left child is a leaf node.  

    Runtime: 3ms

     1 /**
     2  * Definition for a binary tree node.
     3  * struct TreeNode {
     4  *     int val;
     5  *     TreeNode *left;
     6  *     TreeNode *right;
     7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10 class Solution {
    11 public:
    12     int sumOfLeftLeaves(TreeNode* root) {
    13         if (!root || (!root->left && !root->right)) return 0;
    14         
    15         int result = 0;
    16         sumLeftLeaves(root, result);
    17         return result;
    18     }
    19     
    20     void sumLeftLeaves(TreeNode* root, int &result) {
    21         if (root->left && !root->left->left && !root->left->right)
    22             result += root->left->val;
    23         
    24         if (root->left) sumLeftLeaves(root->left, result);
    25         if (root->right) sumLeftLeaves(root->right, result);
    26     }
    27 };
  • 相关阅读:
    mysql批量插入数据的基类
    mount命令解析
    常用linux命令记录
    转载一篇大神的博客文章
    linux查看网卡状态
    centos7配置网卡绑定
    coentos7安装python3
    阿里云ecs 硬盘在线扩容
    centos7安装redis5
    centos7 rpm安装nginx
  • 原文地址:https://www.cnblogs.com/amazingzoe/p/5922453.html
Copyright © 2011-2022 走看看