二叉树中和为某一值的路径
来源:互联网 发布:js 判断对象类型 兼容 编辑:程序博客网 时间:2024/06/05 17:10
//二叉树中和为某一值的路径
void FindPath(BtNode* pRoot,int expectedSum,vector& path,int currentSum)
{
currentSum += pRoot->m_val;
path.push_back(pRoot->m_val);
//如果是叶节点,并且路径上的点和等于输入的值//打印这条路径bool isLeaf = pRoot->m_pleft==NULL && pRoot->m_pright==NULL;if(currentSum == expectedSum && isLeaf){ cout<<"A path is found: "; vector<int>::iterator it = path.begin(); for(;it!=path.end();++it) { cout<<*it<<" "; } cout<<endl; if(pRoot->m_pleft) FindPath(pRoot->m_pleft,expectedSum,path,currentSum); if(pRoot->m_pright) FindPath(pRoot->m_pright,expectedSum,path,currentSum);}//再返回到父节点之前,在路径上删除当前结点//在currentSum中减去当前的结点的值currentSum -= pRoot->m_val;path.pop_back();
}
void FindPath(BtNode* pRoot,int expectedSum)
{
if(pRoot == NULL)
return;
vector path;
int currentSum = 0;
FindPath(pRoot,expectedSum,path,currentSum);
}
阅读全文
0 0
- 【树】二叉树中和为某一值的路径
- 【树6】二叉树中和为某一值的路径
- 题目11:二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的所有路径
- 题目1368:二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 1368:二叉树中和为某一值的路径 @jobdu
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- Q25:二叉树中和为某一值的路径
- 剑指offer:二叉树中和为某一值的路径
- 二叉树中和为某一值的路径(剑指offer25)
- 二叉搜索树的后序遍历序列
- 初探Java源码之ArrayList
- 一句话了解++i和i++的区别
- Gmapping、hector、Cartographer三种激光SLAM算法简单对比
- listView多条目加载_listView适配器
- 二叉树中和为某一值的路径
- Hessian入门实例
- 设计模式之观察者模式
- MySQL交叉表:纵向数据显示为横向
- oracle数据库----关系视图
- 异步线程设置网络图片
- 复杂链表的复制
- php 数据访问练习:投票页面
- 2017PHP经典面试题