每日上机二叉树遍历

Posted 抓码计算机考研

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日上机二叉树遍历相关的知识,希望对你有一定的参考价值。

加入抓码公益社群,解锁更多计算机考研干货
抓码22计算机考研QQ总群:625590924
22考研咨询 | 码哥(JNUmagekaoyan)
或 码哥02(magevip2)



二叉树遍历


题目描述


编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 


例如如下的先序遍历字符串:

ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。


输⼊描述:


输入包括1行字符串,长度不超过100。

输出描述:


可能有多组测试数据,对于每组数据, 输出将输入字符串建立二叉树后中序遍历的序列,每个字符后面都有一个空格。

示例1


输入


abc##de#g##f###

输出


c b e g d f a


#include <iostream>#include <string>using namespace std;string str;int i;struct TreeNode{ char val; struct TreeNode *lchild, *rchild; TreeNode(char c) :val(c), lchild(NULL), rchild(NULL) {}};TreeNode* createTree() {    char c = str[i++]; if (c == '#') return NULL; TreeNode *root = new TreeNode(c); root->lchild = createTree(); root->rchild = createTree(); return root;}void inOrderTraversal(TreeNode* root) { if (!root) return; inOrderTraversal(root->lchild); cout << root->val << " "; inOrderTraversal(root->rchild);}int main() { while (cin >> str) { i = 0; TreeNode *root = createTree(); inOrderTraversal(root); cout << endl; } return 0;}

【每日上机】二叉树遍历


 抓码计算机考研qq群 

总群

625590924‍‍
调剂群
951508829
广大 1143982604
暨大 1071137230
广工 1093732052
华工 428389734
深大 729770764
浙大 978938582
厦大 1125268501
中大 921801084
南航 281118241
华农 515681663
重邮 736197896
北邮 1126650806
南邮 1109929146
广外 976231252
东北大学 1128523098
华南师大 476784448
南昌大学 923249141


【每日上机】二叉树遍历


给个“在看”支持一下我

以上是关于每日上机二叉树遍历的主要内容,如果未能解决你的问题,请参考以下文章

数据结构C++实验题 程序代码?

每日算法二叉树的遍历

每日一题如何进行二叉树的各种遍历的非递归算法实现?简要讲述。

每日一题如何进行二叉树的各种遍历的非递归算法实现?简要讲述。

前端每日一题:Day5-重建二叉树

华为上机真题 2022完全二叉树非叶子节点后序遍历