剑指offer——面试题25:二叉树中和为某一值的路径
来源:互联网 发布:rib itwo软件下载 编辑:程序博客网 时间:2024/05/16 18:25
void FindPath(BinaryTreeNode* pRoot, int expectedSum){ if(pRoot == NULL) return; std::vector<int> path; int currentSum = 0; FindPath(pRoot, expectedSum, path, currentSum);}void FindPath( BinaryTreeNode* pRoot, int expectedSum, std::vector<int>& path, int& currentSum){ currentSum += pRoot->m_nValue; path.push_back(pRoot->m_nValue); // 如果是叶结点,并且路径上结点的和等于输入的值 // 打印出这条路径 bool isLeaf = pRoot->m_pLeft == NULL && pRoot->m_pRight == NULL; if(currentSum == expectedSum && isLeaf) { printf("A path is found: "); std::vector<int>::iterator iter = path.begin(); for(; iter != path.end(); ++ iter) printf("%d\t", *iter); printf("\n"); } // 如果不是叶结点,则遍历它的子结点 if(pRoot->m_pLeft != NULL) FindPath(pRoot->m_pLeft, expectedSum, path, currentSum); if(pRoot->m_pRight != NULL) FindPath(pRoot->m_pRight, expectedSum, path, currentSum); // 在返回到父结点之前,在路径上删除当前结点, // 并在currentSum中减去当前结点的值 currentSum -= pRoot->m_nValue; path.pop_back();}
0 0
- 剑指offer——面试题25:二叉树中和为某一值的路径
- 剑指offer 面试题25—二叉树中和为某一值的路径
- 剑指offer代码解析——面试题25二叉树中和为某一值的路径
- 剑指offer代码解析——面试题25二叉树中和为某一值的路径
- 剑指Offer:面试题25——二叉树中和为某一值的路径(java实现)
- 【剑指offer】面试题25:二叉树中和为某一值的路径
- 剑指Offer:面试题25 二叉树中和为某一值的路径
- 剑指offer 面试题25 求二叉树中和为某一路径的值
- 《剑指Offer》面试题25:二叉树中和为某一值的路径
- 剑指offer--面试题25:二叉树中和为某一值的路径--Java实现
- 【剑指Offer学习】【面试题25:二叉树中和为某一值的路径】
- 剑指Offer面试题25(Java版):二叉树中和为某一值的路径
- 剑指offer面试题25-二叉树中和为某一值的路径
- 剑指offer-面试题25:二叉树中和为某一值的路径
- 剑指offer之面试题25:二叉树中和为某一值的路径
- 剑指Offer----面试题25:二叉树中和为某一值的路径
- 剑指offer-面试题25:二叉树中和为某一值的路径
- 剑指offer面试题25:二叉树中和为某一值的路径
- SE基础深入浅出的jvm,jdk,jre
- 事件处理---提示音量增加处理事件
- Spring 数据库数据源DBCP配置说明
- 你所不知道的Activity转场动画——ActivityOptions
- Qt---QVector排序
- 剑指offer——面试题25:二叉树中和为某一值的路径
- 等差数列
- 1008. 数组元素循环右移问题
- 解决NDK编译‘undefined reference to’ 错误问题
- Angular JS基础分享
- 图片验证码
- Android常用的工具类 判断电话,邮箱,汉字姓名等等
- anaconda 安装不同版本的python 模块
- Android网络请求框架AsyncHttpClient详解