剑指offer---二叉树中和为某一值的路径
来源:互联网 发布:linux 使用ftp 编辑:程序博客网 时间:2024/06/14 03:45
题目描述
输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。
解析:
递归法:判断给定的值N是否与根节点root的值相等,若相等且当前根节点root左右子树均为空,则找到一条路径,递归判断左子树root->left和右子树root->right,判断子树根节点的值与N减去root->val的值的大小,以及子树根节点是否有左右子树。
代码:
/*struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {}};*/class Solution {public: vector<vector<int>> buffer;//存储每条路径 vector<int> tmp;//存储当前路径,用于判断当前路径中值的和是否与给定值相等 vector<vector<int> > FindPath(TreeNode* root,int expectNumber) { if(!root) return buffer; tmp.push_back(root->val); if(root->val==expectNumber&&root->left==NULL&&root->right==NULL) buffer.push_back(tmp); FindPath(root->left,expectNumber-root->val); FindPath(root->right,expectNumber-root->val); if(tmp.size()!=0) tmp.pop_back(); return buffer; }};
阅读全文
0 0
- 剑指offer:二叉树中和为某一值的路径
- 【剑指offer】二叉树中和为某一值的路径
- 剑指offer--二叉树中和为某一值的路径
- 《剑指offer》二叉树中和为某一值的路径
- 【剑指Offer】二叉树中和为某一值的路径
- 剑指Offer--二叉树中和为某一值的路径
- 剑指offer:二叉树中和为某一值的路径
- 剑指offer 二叉树中和为某一值的路径
- 剑指offer:二叉树中和为某一值的路径
- [剑指offer]二叉树中和为某一值的路径
- 《剑指offer》-二叉树中和为某一值的路径
- 剑指offer 二叉树中和为某一值的路径
- 【剑指offer】二叉树中和为某一值的路径
- 剑指offer|二叉树中和为某一值的路径
- 《剑指offer》二叉树中和为某一值的路径
- 剑指offer 二叉树中和为某一值的路径
- 剑指Offer:二叉树中和为某一值的路径
- 剑指offer-二叉树中和为某一值的路径
- 手把手原生js简单轮播图
- Java并发编程
- org.apache.lucene.queryparser.classic.ParseException: Encountered "<EOF>" at line 1, column 0.
- EPOLL内核源代码实现原理分析
- 深度学习FPGA实现基础知识6(Deep Learning(深度学习)学习资料大全及CSDN大牛博客推荐)
- 剑指offer---二叉树中和为某一值的路径
- 机器学习经典书籍
- eclipse的一些常用快捷键
- java深入学习十一之IO流
- office-word使用技巧——常见问题
- [kuangbin带你飞]专题七 线段树 G POJ 3264
- Spring Cloud学习--容错机制(Hystrix之服务降级)
- 数字特征值
- The Skyline Problem解题心得