二叉树中和为某一值的路径
来源:互联网 发布:网络交易管理办法 pdf 编辑:程序博客网 时间:2024/06/03 21:31
题目:输入一个整数和一棵二元树。
从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。
打印出和与输入整数相等的所有路径。
例如 输入整数22和如下二元树
10
/ \
5 12
/ \
4 7
则打印出两条路径:10, 12和10, 5, 7。
先序遍历树即可得到结果。
void FindPath ( BSTreeNode* pTreeNode, // a node of binary tree int expectedSum, // the expected sum std::vector<INT>& path, // a path from root to current node int& currentSum // the sum of path ) { if(!pTreeNode) return; currentSum += pTreeNode->m_nValue; path.push_back(pTreeNode->m_nValue); //判断是否满足条件 if(currentSum == expectedSum && !pTreeNode->m_pLeft && !pTreeNode->m_pRight) { std::vector<INT>::iterator iter = path.begin(); for(; iter != path.end(); ++ iter) printf("%d\t",*iter); printf("\n"); } FindPath(pTreeNode->m_pLeft, expectedSum, path, currentSum); FindPath(pTreeNode->m_pRight, expectedSum, path, currentSum); //回溯 currentSum -= pTreeNode->m_nValue; path.pop_back(); }
回溯,遍历!!
0 0
- 【树】二叉树中和为某一值的路径
- 【树6】二叉树中和为某一值的路径
- 题目11:二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的所有路径
- 题目1368:二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- 1368:二叉树中和为某一值的路径 @jobdu
- 二叉树中和为某一值的路径
- 二叉树中和为某一值的路径
- Q25:二叉树中和为某一值的路径
- 剑指offer:二叉树中和为某一值的路径
- 二叉树中和为某一值的路径(剑指offer25)
- PHP二分查找
- 仿微信通讯录的Demo----PinnedHeaderListView
- Intellij IDEA 快捷键工具大全
- 代码设置selector和color
- uva 658 UVA 658 It's not a Bug, it's a Feature!
- 二叉树中和为某一值的路径
- ORA-27125: unable to create shared memory segment
- Mirantis Fuel调研
- express安装问题
- javascript 初学小节 1
- bae python-worker 爬虫 接下来工作
- 工作笔记6
- limit用法
- android五种布局的基本使用