在二元树中找出和为某一值的所有路径

Halcon一维测量实战:从measure_pos与measure_pairs的底层原理到精准应用 本文深入解析Halcon中measure_pos与measure_pairs算子的底层原理与精准应用,涵盖参数调优、测量矩形方向设置及典型工业场景实战。通过对比分析,揭示两者在一维测量中的核心差异与适用场景,提供从基础到高级的完整解决方案,助力工业视觉检测精度提升。 阅读详情
题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。
例如输入整数22和如下二元树
                                             10
                                            /    \
                                           5      12
                                         /    \   
                                      4      7  
则打印出两条路径:10, 12和10, 5, 7。


#include <iostream>
using namespace std;
#include <vector>
using std::vector;
#include <stdio.h>


template<typename T>
class TreeNode
{
public:
    TreeNode(T val);
    TreeNode *getLeftChild();
    TreeNode *getRightChild();
    void setLeftChild( TreeNode *lChild );
    void setRightChild( TreeNode *rChild );
    T getValue();
private:
    T mValue;
    TreeNode *mLeftChild;
    TreeNode *mRightChild;
};


template<typename T>
TreeNode<T>::TreeNode(T val):mValue(val),mLeftChild(0),mRightChild(0)
{


}


template<typename T>
T
TreeNode<T>::getValue()
{
    return mValue;
}


template<typename T>
TreeNode<T>*
TreeNode<T>::getLeftChild()
{
    return mLeftChild;
}


template<typename T>
TreeNode<T>*
TreeNode<T>::getRightChild()
{
    return mRightChild;
}


template<typename T>
void
TreeNode<T>::setLeftChild(TreeNode *lChild)
{
    mLeftChild = lChild;
}


template<typename T>
void
TreeNode<T>::setRightChild( TreeNode *rChild )
{
    mRightChild = rChild;
}


template<typename T>
TreeNode<T>*
buildTree()
{
    TreeNode<int> *r10 = new TreeNode<int>(10);
    TreeNode<int> *r5 = new TreeNode<int>(5);
    TreeNode<int> *r12 = new TreeNode<int>(12);
    TreeNode<int> *r4 = new TreeNode<int>(4);
    TreeNode<int> *r7 = new TreeNode<int>(7);
    r10->setLeftChild(r5);
    r10->setRightChild(r12);
    r5->setLeftChild(r4);
    r5->setRightChild(r7);
    return r10;
}


template<typename T>
void
Travese(TreeNode<T> *node,T expectValue,vector<T> &path, T & currentValue)
{
    if ( node == 0 )
    {
        return ;
    }
    fprintf(stderr,"Travese value %d %d\n",node->getValue(),currentValue);
    T value = node->getValue();
    currentValue += value;
    path.push_back(value);
    bool isLeaf = (!node->getLeftChild()) && ((!node->getRightChild()));
    if ( expectValue == currentValue && isLeaf )
    {
        size_t vectSize = path.size();
        for ( int i = 0 ; i < vectSize ; i ++ )
        {
            cout << path[i]<<endl;
        }
    }
    if ( node->getLeftChild() )
    {
        Travese( node->getLeftChild(),expectValue,path,currentValue );
    }
    if ( node->getRightChild() )
    {
        Travese( node->getRightChild(),expectValue,path,currentValue );
    }
    currentValue -= value;
    path.pop_back();
}


int main(int argc, char *argv[])
{
    TreeNode<int> *node = buildTree<int>();
    vector<int> result;
    int currentValue = 0;
    Travese(node,22,result,currentValue);
    return 0;
}

5G RF前端架构为什么越来越复杂?从8天线、MIMO、ET、DRX到ACLR/EVM彻底拆开 AdjacentChannelLeakageRatioAdjacentChannelLeakageRatio主信道的功率,有多少泄漏到了隔壁Channel。ACLRPAdjacentPMainACLR=ACLRPMain​PAdjacent​​通常以dBc表达。 阅读详情

相关推荐

YOLOv5 改进点总览:轻量化、高精度的背后有哪些魔改?

YOLOv5是由Ultralytics团队开发的高效目标检测模型,其核心改进包括:主干网络采用CSPDarknet53提升梯度传播效率;特征融合使用PANet增强小目标识别;输出结构采用解耦头设计优化定位和分类任务。此外,YOLOv5通过CIoU损失函数、Mosaic数据增强和SimOTA标签分配机制进一步提升性能。模型支持多种推理格式(ONNX/TensorRT等),并具备自动锚框匹配和多尺度训练功能,使其在轻量化(yolov5s仅7MB)与高性能(最高51.2% mAP)间取得平衡,但缺乏正式论文支撑是

guoguozgw的博客 1805

二元树中找出和为某一值的所有路径

题目来源:http://bbs.youkuaiyun.com/topics/350118968 4.在二元树中找出和为某一值的所有路径 题目:输入一个整数和一棵二元树。 从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。 打印出和与输入整数相等的所有路径。 例如 输入整数22和如下二元树   10      / \      5 12      / \      4 7

YoungForYou的专栏 571

SQL Prompt 9.0插件突然无法使用解决办法(附防联网激活)多图+文字

可能由于Redgate公司最近抓盗版抓得严,导致激活后的SQL Prompt联网后突然无法使用,无论卸载重装都没办法继续使用,本人同时使用SQL Assistant和SQL Prompt,我喜欢SQL Assistant代码提示功能,而SQL Prompt我喜欢将查询结果复制后可以直接生产插入脚本,这是最爽的一件事,即便对表有多么熟悉,没有这些插件,几行语法都要敲大半天,目前本人已经离不开这两个插...

骚团长的博客 1万+

在二元树中找出和为某一值的所有路径(树)

题目:输入一个整数和一棵二元树。 从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。 打印出和与输入整数相等的所有路径。 例如 输入整数22和如下二元树   10    / /    5 12    /  /   4     7 则打印出两条路径:10, 12和10, 5, 7。 二元树节点的数据结构定义为: struct BinaryTreeNode

yake25的专栏 2058

英飞凌TC377的Flash管理、UCB配置与HSM安全机制解析

本文深入解析了英飞凌TC377微控制器的Flash存储结构、UCB配置机制与HSM安全模块。详细阐述了带Cache与不带Cache的PFlash地址访问差异、利用SOTA与AB Swap实现无感OTA更新的原理,以及如何通过UCB安全配置启动流程与写保护。重点剖析了HSM硬件安全模块在密钥管理、安全启动与安全OTA中的核心作用,为开发高可靠性嵌入式系统提供实战指南。

weixin_29170327的博客 523

MATLAB演示元胞自动机算法

一、元胞自动机理论 元胞自动机与格子理论是一个非常好的模型,许多复杂的问题都可以通过它来建立模型,下面就简要介绍一下。 元胞自动机 实质上是定义在一个具有离散、有限状态的元胞组成的元胞空间上,并按照一定的局部规则,在离散的时间维度上演化的动力学系统。 元胞 元胞又可称为单元、细胞,是元胞自动机的最基本的组成部分。 元胞具有以下特点: 元胞自动机最基本的单元。 元胞有记忆贮存状态的功...

frange zone 2万+

4.在二元树中找出和为某一值的所有路径

题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数22和如下二元树                                            10

cxh342968816的专栏 515

《揭秘 BME688人工智能压力湿度温度气体传感器:气体检测的多面能手》:此文为AI自动生成

BME688 是博世推出的一款具有人工智能和集成高线性度高精度压力、湿度、温度传感器的气体传感器,专为移动和联网应用开发,尺寸紧凑且低功耗。BME688 作为一款先进的传感器,在多个领域展现出卓越的性能。它采用了坚固而紧凑的 3.0 x 3.0 x 0.9 mm³ 封装,这种小巧的尺寸使其能够轻松应用于对空间要求严格的移动设备和联网应用中。同时,低功耗的特性也使得它在能源有限的环境下能够长时间稳定运行。

zheng_ruiguo的专栏 1927

【面试题】在二元树中找出和为某一值的所有路径——Java实现

题目:输入一个整数和一棵二元树。 从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。 打印出和与输入整数相等的所有路径。 例如输入整数22 和如下二元树 10 / \ 5 12 / \ 4 7 则打印出两条路径:10, 12 和10, 5, 7。

在梅边的专栏 2168

电机驱动和电源等大电流设计中的并联 MOSFET设计

在电机驱动等应用中,半桥拓扑(通常为 3 相)用于生成在电机中产生正扭矩或负扭矩的交流电源信号。想要更高的输出电流能力,只有通过并联形成每个功能开关的 MOSFET,才能实现高输出电流。当多个功率 MOSFET 并联以增加系统整体电流能力容量时,通常假设电流在并联器件之间均等分配或均等共享。然而,在并联 MOSFET 时,需要考虑并联器件之间的电流分配。PCB 布局的若干特性和特定的MOSFET 参数会影响这种分配,并在参数不匹配或布局不对称时导致均流不平衡。

小幽余生不加糖 2485

机器学习与深度学习基础概念

本篇主要介绍机器学习主要概念,包括不限于标签、特征、样本、训练、模型、回归模型、分类模型、泛化、过拟合、预测、平稳性、训练集、验证集、测试集。

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 3万+

解题笔记(6)——在二元树中找出和为某一值的所有路径(树)

问题描述:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。 例如输入整数22和如下二元树   10     / /     5  12     /   /    4     7 则打印

wuzhekai的专栏 4094

硬件电路RS485通信EMC 设计

RS485通讯硬件设计与STM32实现要点 本文详细介绍了RS485通讯系统的硬件设计和STM32实现方案。硬件设计重点包括:采用总线型拓扑结构、120Ω终端电阻匹配、屏蔽双绞线布线、TVS管和自恢复保险丝保护等核心要素。EMC设计强调共模电感抑制干扰、屏蔽层单端接地、光电隔离等技术。软件实现方面,提供了基于STM32F103的完整程序框架,包括UART初始化、收发控制逻辑和中断处理机制,特别强调了收发切换时机、波特率精度等关键注意事项。文中还给出了工业传感器节点的实际应用案例,展示了一个完整的EMC防护电

qq_37999850的博客 1383

算法习题5:在二元树中找出和为某一值的所有路径

在二元树中找出和为某一值的所有路径 输入一个整数和一棵二元树。 从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。 打印出和与输入整数相等的所有路径。 例如 输入整数22和如下二元树   10      / \      5 12      / \      4 7 则打印出两条路径:10, 12和10, 5, 7。 二元树节点的数据结构定义为: s

ylf13的专栏 1135

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: 二叉树的层次遍历
下一篇: vector和dequeue的push_back比较
乔巴好萌
博客等级 码龄15年 228粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值