二叉树中和为某一值的路径算法详解编程语言
2023-06-13 09:11:47 时间
输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。
解:这题其实有限制条件,但是没看出来。就是要从根节点一直到叶子节点,全部的和。中间的节点不会断层,其实就是深度优先遍历的类型
public: void ResFindPath(vector vector int vec_vec,vector int vec,TreeNode* root,int expectNumber) if(root==nullptr) return; //不计算本节点值 //ResFindPath(vec_vec,vec,root- right,expectNumber); //ResFindPath(vec_vec,vec,root- right,expectNumber); //计算本节点值 vec.emplace_back(root- val); if(expectNumber-root- val==0 (root- left==nullptr root- right==nullptr)) vec_vec.emplace_back(vec); return; ResFindPath(vec_vec,vec,root- left,expectNumber-root- val); ResFindPath(vec_vec,vec,root- right,expectNumber-root- val); vector vector int FindPath(TreeNode* root,int expectNumber) { vector vector int vec_vec_ret; vector int vec; ResFindPath(vec_vec_ret,vec,root,expectNumber); return vec_vec_ret; };
解:这题其实有限制条件,但是没看出来。就是要从根节点一直到叶子节点,全部的和。中间的节点不会断层,其实就是深度优先遍历的类型
public: void ResFindPath(vector vector int vec_vec,vector int vec,TreeNode* root,int expectNumber) if(root==nullptr) return; //不计算本节点值 //ResFindPath(vec_vec,vec,root- right,expectNumber); //ResFindPath(vec_vec,vec,root- right,expectNumber); //计算本节点值 vec.emplace_back(root- val); if(expectNumber-root- val==0 (root- left==nullptr root- right==nullptr)) vec_vec.emplace_back(vec); return; ResFindPath(vec_vec,vec,root- left,expectNumber-root- val); ResFindPath(vec_vec,vec,root- right,expectNumber-root- val); vector vector int FindPath(TreeNode* root,int expectNumber) { vector vector int vec_vec_ret; vector int vec; ResFindPath(vec_vec_ret,vec,root,expectNumber); return vec_vec_ret; };
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/17543.html
cjava相关文章
- 非递归中序遍历二叉树
- java实现简单二叉树「建议收藏」
- 一步一步写算法(之排序二叉树)[通俗易懂]
- 二叉树中序遍历(非递归)算法实现–C语言「建议收藏」
- 二叉树的中序遍历非递归算法java_二叉树遍历例题解析
- 数据结构与算法之二叉树的重建
- Go 数据结构和算法篇(十八):平衡二叉树
- 前端工程师leetcode算法面试之二叉树深度广度遍历
- 判断数组是否是二叉树搜索树的后序遍历结果
- 数据结构实验之二叉树一:树的同构 (SDUT 3340)
- 平衡搜索二叉树之红黑树(拒绝死记硬背,拥抱理解记忆)
- JAVA语言实现二叉树的层次遍历的非递归算法及递归算法详解编程语言
- C语言按层次遍历二叉树算法详解编程语言
- 算法-二叉树的深度详解编程语言
- 算法: 二叉树增、删、查、找详解编程语言
- 对称的二叉树算法详解编程语言
- Oracle 二叉树算法优化数据访问速度(oracle 二叉树算法)
- 关于c#二叉树的实现
- 二叉树前序遍历的非递归算法