首页 > 其他分享 >左叶子节点之和

左叶子节点之和

时间:2023-08-10 23:22:15浏览次数:31  
标签:node right sum nullptr 叶子 节点 left

首先将非终止条件,非递归函数部分叫做单层递归。

思考过程如下:

  • 想解题思路:一个节点的左节点的左节点为空,左节点的右节点为空,那么这个结点就是左叶子结点,那么我们就要给它的数值加到sum上去
  • 解题思路即为单层递归,那么将单层递归写成程序为:
1     if ((node->left->left == nullptr) && (node->left->right == nullptr)) {
2         sum += node->left->data_;
3     }
  • 确定终止条件:二叉树的终止条件就是不能让当成循环中出现nullptr->left和nullptr->right,那么我们将将递归逻辑图画出:

 

首先f(N)肯定不行单层递归里以node->left->left为例,光是node->left就已经不行了,因此node==nullptr时我们就应该return;

f(0)肯定也不行node->left为nullptr,在求nullptr的左节点肯定不合理,因此node->left或则node->right为nullptr时我们就应该return;

因此整体代码为:

 1 //sum每次递归都要用,但是又不想重新初始化sum,那么就将它作为形参,并且把它变成引用
 2 void leftsum(Node* node,int &sum) {
 3     if (node == nullptr) return;
 4     if ((node->left == nullptr) && (node->right == nullptr)) return;
 5     if ((node->left->left == nullptr) && (node->left->right == nullptr)) {
 6         sum += node->left->data_;
 7     }
 8     leftsum(node->left, sum);
 9     leftsum(node->right, sum);
10 }

 

 

 

标签:node,right,sum,nullptr,叶子,节点,left
From: https://www.cnblogs.com/Sandals-little/p/17621871.html

相关文章

  • 【JavaScript34】获取和修改属性节点
    根据W3C的HTMLDOM标准,HTML文档中的所有内容都是节点:整个文档是一个文档节点每个HTML元素是元素节点HTML元素内的文本是文本节点每个HTML属性是属性节点注释是注释节点属性节点比如有一个p标签元素节点<pid="p2"class="text-center">点我看看</p>-那......
  • 2.Elasticsearch单节点安装脚本
    #!/bin/bashES_VERSION=7.17.5#ES_VERSION=7.9.3#ES_VERSION=7.6.2UBUNTU_URL="https://mirrors.tuna.tsinghua.edu.cn/elasticstack/7.x/apt/pool/main/e/elasticsearch/elasticsearch-${ES_VERSION}-amd64.deb"RHEL_URL="https://mirrors.tuna.tsingh......
  • k8s部署 elasticsearch7集群,其中一台节点报错无法域名解析 :resolving host...
    部署es7集群其中一个节点一直报错resolvinghost考虑有两点,要么是coredns组件出问题了,无法解析,要么是calico网络组件出问题了,首先我就去看网络组件了,果然发现问题,我这台机器有两个网卡,一个是enp9s0(172.16.2.30地址),一个是enp11s0(172.16.2.25地址),我加入的节点是30机器,但是calico绑定......
  • 【JavaScript31】HTML DOM节点与节点属性
    前言DOM(DocumentObjectModel)文档对象模型,通过HTMLDOM,JavaScript能够访问和改变HTML文档的所有元素。当网页被加载时,浏览器会创建页面的文档对象模型(DocumentObjectModel)。HTMLDOM模型被结构化为对象树:DOM节点根据W3C的HTMLDOM标准,HTML文档中的所有内......
  • vue+el-tree 通过下拉框选中节点,定位到当前节点,并高亮
    此处为下拉选择器:<el-selectref="searchSelect"v-model="filter"filterableremotesize="mini"clearableplaceholder="请输入关键词":remo......
  • 2023-08-08:给你一棵 n 个节点的树(连通无向无环的图) 节点编号从 0 到 n - 1 且恰好有 n
    2023-08-08:给你一棵n个节点的树(连通无向无环的图)节点编号从0到n-1且恰好有n-1条边给你一个长度为n下标从0开始的整数数组vals分别表示每个节点的值同时给你一个二维整数数组edges其中edges[i]=[ai,bi]表示节点ai和bi之间有一条无向边一条好路......
  • 2023-08-08:给你一棵 n 个节点的树(连通无向无环的图) 节点编号从 0 到 n - 1 且恰好有 n
    2023-08-08:给你一棵n个节点的树(连通无向无环的图)节点编号从0到n-1且恰好有n-1条边给你一个长度为n下标从0开始的整数数组vals分别表示每个节点的值同时给你一个二维整数数组edges其中edges[i]=[ai,bi]表示节点ai和bi之间有一条无向边一条好路径需要......
  • Hadoop:哪个数据节点是最近的数据节点来检索数据以及节点如何实现容错性
    Q1whocandecidewhichDataNodeistheclosestdatanodetoretrievethedata?当客户端要读一个文件的某个数据块时,它就需要向NameNode节点询问这个数据块存储在哪些DataNode节点上,这个过程如下图:当然,客户端至少需要向NameNode传输三个参数:文件路径、读取文件的起始位置、......
  • elasticsearch由单节点部署成3节点的集群
    环境:OS:Centos7ES:6.8.5目前拓扑:单节点的ES(带密码验证)当前节点ip:192.168.1.105新增节点ip:192.168.1.106192.168.1.107 ########################当前节点的配置情况##########################1.配置参数文件[elasticsearch@hadoop-slave1config]$moreelasticsearc......
  • el-tree 父子节点勾选框:勾选时关联但回显时不关联
    需求之前的需求是el-tree父子节点勾选框半关联,但是现在需求改了,需要:勾选时父子节点关联;数据回显时,父子节点不关联。即:分析传参控制父子节点是否关联check-strictly父子节点是否关联是由check-strictly这个属性决定的:为false表示关联,为true表示不关联。回显......