目录
1 题目描述
编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。

2 解题思路
将根据输入的先序遍历字符串创建一个二叉树,之后对该二叉树进行中序遍历即可。
- 在先序遍历的过程中,如果没有遇到“#”,则将该结点存储到root结点的位置,再通过递归的方法判断该左子树是否为空,同样的,用递归判断右子树,直到root为null为止。
- 在中序遍历的过程中,先将二叉树一直向左走到“尽头”,再进行输出,同样也需要调用递归函数~
3 代码实现
import java.util.*;
//定义节点类,保存结点值以及左右孩子的地址
class TreeNode{
char va
本文介绍了如何使用Java编程,根据用户输入的先序遍历字符串创建二叉树,并进行中序遍历。题目要求将输入的先序遍历字符串如'ABC##DE#G##F###'转化为二叉树结构,然后输出中序遍历的结果。解题思路包括递归地构建二叉树,以及中序遍历的实现。
最低0.47元/天 解锁文章
。&spm=1001.2101.3001.5002&articleId=91429354&d=1&t=3&u=5ace5e9bb169463796319ff69a2df4dc)
2999

被折叠的 条评论
为什么被折叠?



