zl程序教程

您现在的位置是:首页 >  后端

当前栏目

二叉树中和为某一值的路径算法详解编程语言

二叉树算法编程语言 详解 路径 一值
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; };

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/17543.html

cjava