求二叉树中和为特定值的路径
来源:互联网 发布:mysql数据库热迁移 编辑:程序博客网 时间:2024/06/03 09:25
求一棵二叉树中和为特定值的路径,可以用深搜的思路来解决,由于二叉树中各个节点的值没有特定的大小规律,所以没有可行的剪枝策略。具体的代码如下所示:
vector<TreeNode *> certainVal(TreeNode *root, int val, vector<TreeNode *> curNode, int curval){//若找到路径则返回if(val == curval){return curNode;}//该路径已经搜索到叶子节点,且没有所找的路径vector<TreeNode *> errResult;if(root == nullptr){return errResult;}//将root 节点加入到搜索路径中继续查找curval += root -> val;curNode.push_back(root);vector<TreeNode *> result = certainVal(root -> left, val, curNode, curval); //搜索左子树if(result.size() != 0){return result;}vector<TreeNode *> result = certainVal(root -> left, val, curNode, curval); //搜索右子树if(result.size() != 0){return result;}//以根节点的左右子树为起始路径继续搜索vector<TreeNode *> newStart;result = certainVal(root -> left, val, newStart, 0); //搜索左子树if(result.size() != 0){return result;}result = certainVal(root -> right, val, newStart, 0); //搜索右子树if(result.size() != 0){return result;}return errResult; //在经过root节点的分支中没有找到,返回}
0 0
- 求二叉树中和为特定值的路径
- 求二叉树中和为给定值的所有路径
- 求二叉树中和为某一值的路径
- 求二叉树中和为给定值的路径
- 剑指offer—二叉树中和为特定值的所有路径
- 树——二叉树中和为某一值的路径and求二叉树深度
- 剑指offer 面试题25 求二叉树中和为某一路径的值
- 笔试题:求二叉树中和值为sum的所有路径
- 【树】二叉树中和为某一值的路径
- 【树6】二叉树中和为某一值的路径
- 题目11:二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的所有路径
- 找出二叉树中和为某值的所有路径
- 题目1368:二叉树中和为某一值的路径
- hiredis之坑爹的异步调用
- ios开机启动引导页
- BZOJ1968: [Ahoi2005]COMMON 约数研究
- 百度2016年软件测试开发工程师面经
- Linux makefile 教程 非常详细,且易懂
- 求二叉树中和为特定值的路径
- ocp-491
- 51nod 1174 区间中最大的数 (线段树+RMQ)
- UI - DataBase
- ocp-492
- 侧滑菜单 Drawerlayout navigationView
- ocp-493
- failed to push some refs to 'git@code.csdn.net:fd214333890/html_form_update.git'
- ocp-494