每日精讲:⼆叉树的构建及遍历/⼆叉树的前中后序遍历
Hello大家好! 很高兴与大家见面! 给生活添点快乐,开始今天的编程之路。
我的博客:<但愿.
文章专栏:算法与数据结构
我的专栏:C语言、题目精讲、算法与数据结构、C++
若有问题评论区下讨论,我会及时回答
欢迎大家点赞、关注、收藏分享
1 二叉树的前序遍历
1.1 题目链接:144. 二叉树的前序遍历 - 力扣(LeetCode)
1.2题目描述:给你二叉树的根节点 root
,返回它节点值的 前序 遍历。
1.3题目示例:
1.4题目思路:
【1】根据题目实现函数里面有一个数组,所以我们要求结点的个数来确定数组的大小
【2】在看实现函数的返回值是一个(int*),所以我们在前序遍历时不在是打印而是将数据导入数组在返回数组(我的文章中数据结构专栏-二叉树的链式结构中实现了二叉树的前序遍历)
1.5解决代码
2 二叉树的中序遍历
2.1题目链接:94. 二叉树的中序遍历 - 力扣(LeetCode)
2.2题目描述:给定一个二叉树的根节点 root
,返回 它的 中序 遍历 。
2.3题目示例:
2.4题目思路;
【1】根据题目实现函数里面有一个数组,所以我们要求结点的个数来确定数组的大小
【2】在看实现函数的返回值是一个(int*),所以我们在中序遍历时不在是打印而是将数据导入数组在返回数组(我的文章中数据结构专栏-二叉树的链式结构中实现了二叉树的中序遍历)
2.5解决代码:
3 二叉树的后序遍历
3.1题目链接:145. 二叉树的后序遍历 - 力扣(LeetCode)
3.2题目描述:给你一棵二叉树的根节点 root
,返回其节点值的 后序遍历 。
3.3题目示例:
3.4题目思路
【1】根据题目实现函数里面有一个数组,所以我们要求结点的个数来确定数组的大小
【2】在看实现函数的返回值是一个(int*),所以我们在后序遍历时不在是打印而是将数据导入数组在返回数组(我的文章中数据结构专栏-二叉树的链式结构中实现了二叉树的后序遍历)
3.5解决代码:
4 ⼆叉树的构建及遍历
4.1题目链接:二叉树遍历_牛客题霸_牛客网
4.2题目描述:编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。
输入描述:
输入包括1行字符串,长度不超过100。
输出描述:
可能有多组测试数据,对于每组数据, 输出将输入字符串建立二叉树后中序遍历的序列,每个字符后面都有一个空格。 每个输出结果占一行。
4.3题目示例:
4.4题目思路:
【1】根据题目意思我们可以得到题目没有给我们提供二叉树,所以我们要创建一个二叉树。
【2】根据输入描述输入的字符串的长度不超过100,所以我们可以创建可以容纳100个字符的数组,在根据输入的示例中可以看到他把空结点也输入,所以我们可以根据输入创建确定的二叉树结构,在根据客户端输入的字符创建结点,在创建二叉树即可。
【3】最后中序遍历即可
4.5解决代码
本篇文章就到此结束,欢迎大家订阅我的专栏,欢迎大家指正,希望有所能帮到读者更好了算法与数据结构相关知识 ,觉得有帮助的还请三联支持一下~后续会不断更新算法与数据结构相关知识,我们下期再见。