剑指offer-面试题25 二叉树中和为某一值的路径
来源:互联网 发布:工业大数据 李杰 编辑:程序博客网 时间:2024/05/29 13:41
//输入一个二叉树和一个整数,打印出二叉树终结点值的和为输入整数的所有路径.从树的根节点开始往下一直到叶节点经过的节点形成一条路径.#include<iostream>#include<vector>using namespace std;typedef struct BinaryTreeNode* Tree;typedef Tree Node;struct BinaryTreeNode{ Node Left; Node Right; int Value;};void FindPath(Node node, int expectValue, vector<int> vecPath, int curentValue){ curentValue += node->Value; vecPath.push_back(node->Value); //是叶子节点并且路径和符合要求,就打印 if(node->Left == NULL && node->Right == NULL && expectValue == curentValue) { for(int i = vecPath[0]; i < vecPath.size(); ++i) { cout<<vecPath[i]<<", "; } cout<<endl; } //不是叶子节点就继续向下访问 if(node->Left) FindPath(node->Left, expectValue, vecPath, curentValue); if(node->Right) FindPath(node->Right, expectValue, vecPath, curentValue); //退出函数时,会向上返回,要在路径中删除自身; 如果路径和符合要求,打印 //,并在路径中删除自身,返回到父节点,如果路径和不符合要求,路径中删除自身,然后返回到父节点 vecPath.pop_back(); }void FindPath(Tree tree, int expectValue){ if(tree == NULL) return; vector<int> vecPath; int currentValue = 0; FindPath(tree, expectValue, vecPath, currentValue);}int main(){}
0 0
- 【剑指offer】面试题25:二叉树中和为某一值的路径
- 剑指Offer:面试题25 二叉树中和为某一值的路径
- 剑指offer 面试题25 求二叉树中和为某一路径的值
- 《剑指Offer》面试题25:二叉树中和为某一值的路径
- 剑指offer 面试题25—二叉树中和为某一值的路径
- 剑指offer--面试题25:二叉树中和为某一值的路径--Java实现
- 【剑指Offer学习】【面试题25:二叉树中和为某一值的路径】
- 剑指Offer面试题25(Java版):二叉树中和为某一值的路径
- 剑指offer面试题25-二叉树中和为某一值的路径
- 剑指offer-面试题25:二叉树中和为某一值的路径
- 剑指offer之面试题25:二叉树中和为某一值的路径
- 剑指Offer----面试题25:二叉树中和为某一值的路径
- 剑指offer-面试题25:二叉树中和为某一值的路径
- 剑指offer面试题25:二叉树中和为某一值的路径
- 【剑指offer】面试题25:二叉树中和为某一值的路径
- 剑指offer--面试题25: 二叉树中和为某一值的路径
- 剑指Offer面试题25(Java版):二叉树中和为某一值的路径
- 剑指offer——面试题25:二叉树中和为某一值的路径
- 剑指offer-面试题24 二叉搜索树的后序遍历序列
- 02 List、Tuple、Dict、Set
- scp跨服务器拷贝,后台运行
- 51和AVR单片机
- linux下生成动态链接库并使用(使用cmake)
- 剑指offer-面试题25 二叉树中和为某一值的路径
- iOS
- 分布式助手Zookeeper(一)
- 剑指offer-面试题26 复杂链表的复制
- Android Studio 快捷键
- java,html5+css3以及javascript面试题------自己面试的时候遇到的面试题,所以整理一下
- 编译替换内核(两种方式)
- Android屏幕横竖屏切换和生命周期管理的详细总结
- 2015 第六届 蓝桥杯C语言B组预赛