题目

法一、广度优先搜索

 1 class Solution {
2 public:
3 int sumOfLeftLeaves(TreeNode* root) {
4 if(root == NULL) return 0;
5 if(root->left == NULL && root->right == NULL) return 0;
6 int sum = 0;
7 queue<TreeNode*>que;
8 que.push(root);
9 while(!que.empty()){
10 TreeNode* node = que.front();que.pop();
11 if(node->left != NULL) {
12 que.push(node->left);
13 if(node->left->left == NULL && node->left->right == NULL)
14 sum += node->left->val;
15 }
16 if(node->right != NULL) {
17 que.push(node->right);
18 }
19 }
20 return sum;
21 }
22 };

法二、深搜

 1 class Solution {
2 public:
3 bool isLeafNode(TreeNode *root){
4 return (!root->left && !root->right);
5 }
6
7 int dfs(TreeNode* root){
8 int sum = 0;
9 if(root->left != NULL){
10 if(root->left != NULL && isLeafNode(root->left))
11 sum += root->left->val;
12 if(!isLeafNode(root->left))
13 sum += dfs(root->left);
14 }
15 if(root->right != NULL && !isLeafNode(root->right))
16 sum += dfs(root->right);
17 return sum;
18 }
19
20 int sumOfLeftLeaves(TreeNode* root) {
21 if(root == NULL) return 0;
22 return dfs(root);
23 }
24
25
26 };

LeetCode404.左叶子之和的更多相关文章

  1. [Swift]LeetCode404. 左叶子之和 | 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 l ...

  2. LeetCode 404. 左叶子之和(Sum of Left Leaves)

    404. 左叶子之和 404. Sum of Left Leaves LeetCode404. Sum of Left Leaves 题目描述 计算给定二叉树的所有左叶子之和. 示例: 3 / \ 9 ...

  3. 【leetcode 简单】 第九十四题 左叶子之和

    计算给定二叉树的所有左叶子之和. 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 # Definition for a binary ...

  4. LeetCode404Sum of Left Leaves左叶子之和

    计算给定二叉树的所有左叶子之和. 示例: 3 / \ 9    20 / \ 15   7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 class Solution { pub ...

  5. Java实现 LeetCode 404 左叶子之和

    404. 左叶子之和 计算给定二叉树的所有左叶子之和. 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 /** * Definiti ...

  6. [LeetCode]404. 左叶子之和(递归)、938. 二叉搜索树的范围和(递归)(BST)

    题目 404. 左叶子之和 如题 题解 类似树的遍历的递归 注意一定要是叶子结点 代码 class Solution { public int sumOfLeftLeaves(TreeNode roo ...

  7. 左叶子之和(sum-of-left-leaves)

    LeetCode题目--左叶子之和(sum-of-left-leaves) 计算给定二叉树的所有左叶子之和. 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 ...

  8. 【LeetCode】404. 左叶子之和

    404. 左叶子之和 知识点:二叉树 题目描述 计算给定二叉树的所有左叶子之和.. 示例 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 解 ...

  9. 404. Sum of Left Leaves 左叶子之和

    [抄题]: Find the sum of all left leaves in a given binary tree. Example: 3 / \ 9 20 / \ 15 7 There are ...

随机推荐

  1. 20201207-2 openpyxl 库与模块导入

    1-1 import openpyxl # 通过文件路径,打开工作簿 wb1 = openpyxl.load_workbook('./demo_excel.xlsx') # 用 Workbook() ...

  2. 从零到一快速搭建个人博客网站(域名备案 + https免费证书)(一)

    环境介绍 资源 说明 centos v7.2 docker 快速部署项目环境 nginx 反向代理,同时配置https证书 halo v1.4.2,开源博客项目 Let's Encrypt 免费证书 ...

  3. 用 shell 脚本做日志清洗

    问题的提出 公司有一个用户行为分析系统,可以记录用户在使用公司产品过程中的一系列操作轨迹,便于分析产品使用情况以便优化产品 UI 界面布局.这套系统有点类似于 Google Analyse(GA),所 ...

  4. MetaException(message:Could not connect to meta store using any of the URIs provided. Most recent failure: org.apache.thrift.transport.TTransportException: java.net.ConnectException: 拒绝连接 (Connection

    hive在hive-site.xml中配置hive.metastore.uris属性,后启动异常 hive异常 [fan@master hive-0.13.1-cdh5.3.6]$ bin/hive ...

  5. Getting unknown property: common\models\Teacher::auth_Key

    找了一个半小时,不知道为什么会缺少这个属性,数据库里面的字段明明都是有的. 然后随后找到了原因,是因为key中的k大写了,所以无法识别这个属性.把自己坑到了,以此为戒,以后多注意细节问题

  6. Webpack的学习总结(1)

    入门 Webpack,看这篇就够了 入门 Webpack,看这篇就够了 写在前面的话 一个基础的webpack配置文件 什么是WebPack,为什么要使用它? WebPack和Grunt以及Gulp相 ...

  7. matplotlib学习日记(五)-各种饼状图的绘制

    (一)分裂式饼状图 import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np mpl.rcParams[& ...

  8. Java学习_Java快速入门

    Java简介 安装完JDK后,需要设置一个JAVA_HOME的环境变量,它指向JDK的安装目录.在Windows下,它是安装目录,类似: C:\Program Files\Java\jdk-15 把J ...

  9. Mac 下 IDEA 启动慢的问题

    转自: http://blog.csdn.net/KingBoyWorld/article/details/73440717 从控制台来看,每次都会连接本地地址(127.0.0.1),问题可能就出在这 ...

  10. 在IDEA中的cannot_resolve_method解决方法

    打开IDEA编辑器,点击编辑器左上角file,出现菜单栏,点击菜单栏中的Settings选项.   在出现的Settings窗口中的左侧菜单栏中找到Plugins选项,点击进入'Plugins'窗口. ...