输出二叉树中所有从根结点到叶子结点的路径
2014-09-18 15:16
239 查看
<pre name="code" class="cpp">// 输出二叉树中所有从根结点到叶子结点的路径.cpp : 定义控制台应用程序的入口点。 #include <iostream> #include <vector> using namespace std; struct BTNode { char m_value; BTNode *m_left; BTNode *m_right; }; char path[100]; int pathlen=0; //先序创建二叉树 void CreatBTree(BTNode *&root) { char nValue = 0; cin >> nValue; if ('#' == nValue) { root=NULL; return; } else { root = new BTNode(); root->m_value = nValue; CreatBTree(root->m_left); CreatBTree(root->m_right); } } //输出二叉树中所有从根结点到叶子结点的路径(递归) void FindAllPath(BTNode *pRoot) { if (pRoot != NULL) { if (pRoot->m_left == NULL && pRoot->m_right == NULL) { path[pathlen++]=pRoot->m_value; for (int i=0;i<pathlen;i++) { printf("%c ",path[i]); } printf("\n"); pathlen--; return; } else { path[pathlen++]=pRoot->m_value; FindAllPath(pRoot->m_left); FindAllPath(pRoot->m_right); pathlen--; } } } int main() { BTNode *pRoot = NULL; vector<char> path; CreatBTree(pRoot); cout << "二叉树中从根到叶子结点的所有路径如下:" << endl; FindAllPath(pRoot); system("pause"); return 0; }
相关文章推荐
- 输出二叉树中所有从根结点到叶子结点的路径
- 输出二叉树中所有从根结点到叶子结点的路径
- 输出二叉树中所有从根结点到叶子结点的路径
- 输出二叉树中所有从根结点到叶子结点的路径
- 【31】给定一个二叉树打印出所有从根结点到叶子结点路径和为 k 的路径
- 二叉树中从根结点到叶子结点所有路径(非递归实现)
- 【31】给定一个二叉树打印出所有从根结点到叶子结点路径和为 k 的路径
- c++输出二叉树叶子结点并输出叶子结点到根结点的路径长度
- 输出二叉树中路径上结点值之和为给定值的所有路径
- 构造二叉树的抽象数据类型对于给定的先序序列和中序序列,构造二叉树,并按层输出所有结点内容,要求每层结点输出一行按层输出上述二叉树所表示的森林的所有结点内容
- 剑指offer 打印出二叉树中结点值的和为输入整数的所有路径。
- 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径(剑指offer)
- 输出所有二叉树的路径
- 二叉树的所有叶子结点到根结点的路径
- 打印二叉树根结点到所有叶子结点的路径
- 数据结构(C语言实现) - 二叉树的基本操作(建立,遍历,结点数,叶子结点数,高度,按树状打印,输出叶子结点等)
- !求二叉树中从根结点到叶子结点的路径
- 求二叉树中叶子结点到根结点的路径
- 数据结构之打印二叉树所有(根结点起)路径—整理严蔚敏数据结构
- 输出二叉树某一层的所有结点