剑指offer:二叉树中和为某一值的路径
来源:互联网 发布:电脑软件推广 编辑:程序博客网 时间:2024/06/08 09:51
输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。
/*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> > FindPath(TreeNode* root,int expectNumber) { if(root==NULL) return res; find(root,expectNumber); return res; } void find(TreeNode* node,int number){ temp.push_back(node->val);// if(number==node->val && node->left==NULL && node->right==nullptr)//number表示还剩的数值,当剩下的数值刚好等于一个节点值,而这个节点又是叶子节点,则res插入最后一个节点 res.push_back(temp); else//当还不满足条件时 { if(node->left) find(node->left,number-node->val);//对左子树递归调用,number减去当前节点的值 if(node->right) find(node->right,number-node->val); } temp.pop_back(); }private: vector<vector<int>> res;//用来记录路径 vector<int> temp;//temp当做一个栈,临时记录所有的路径,包括合适的不合适的,不合适的删除,合适的返回};
阅读全文
0 0
- 剑指offer:二叉树中和为某一值的路径
- 【剑指offer】二叉树中和为某一值的路径
- 剑指offer--二叉树中和为某一值的路径
- 《剑指offer》二叉树中和为某一值的路径
- 【剑指Offer】二叉树中和为某一值的路径
- 剑指Offer--二叉树中和为某一值的路径
- 剑指offer:二叉树中和为某一值的路径
- 剑指offer 二叉树中和为某一值的路径
- 剑指offer:二叉树中和为某一值的路径
- [剑指offer]二叉树中和为某一值的路径
- 《剑指offer》-二叉树中和为某一值的路径
- 剑指offer 二叉树中和为某一值的路径
- 【剑指offer】二叉树中和为某一值的路径
- 剑指offer|二叉树中和为某一值的路径
- 《剑指offer》二叉树中和为某一值的路径
- 剑指offer 二叉树中和为某一值的路径
- 剑指Offer:二叉树中和为某一值的路径
- 剑指offer-二叉树中和为某一值的路径
- Mybatis中关于如何使用多个参数(类型不同)查询的问题
- java中tomcat 的目录结构,servlet的配置与写法
- PHP之类型约束
- try-catch
- POJ 1819 Disks 笔记
- 剑指offer:二叉树中和为某一值的路径
- bzoj 3702 二叉树
- 动态规划:从新手到专家
- 压缩文件的原理
- Java中的String为什么是不可变的? -- String源码分析
- java中如何用过滤器来拦截用户不允许访问的网页(通过地址栏来进行拦截)
- 【用Python学习Caffe】1. 使用Caffe完成图像分类
- MYSQL
- UWP-C#-关键字