首页 > 试题广场 >

实现二叉树先序,中序和后序遍历

[编程题]实现二叉树先序,中序和后序遍历
  • 热度指数:4199 时间限制:C/C++ 8秒,其他语言16秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
分别按照二叉树先序,中序和后序打印所有的节点。

输入描述:
第一行输入两个整数 n 和 root,n 表示二叉树的总节点个数,root 表示二叉树的根节点。

以下 n 行每行三个整数 fa,lch,rch,表示 fa 的左儿子为 lch,右儿子为 rch。(如果 lch 为 0 则表示 fa 没有左儿子,rch同理)


输出描述:
输出三行,分别表示二叉树的先序,中序和后序。
示例1

输入

3 1
1 2 3
2 0 0
3 0 0

输出

1 2 3
2 1 3
2 3 1

备注:

头像 简笔话_Golden
发表于 2020-04-11 00:21:15
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import 展开全文
头像 我要出去乱说
发表于 2022-05-31 17:51:15
模板题,注意简单的建树方法。 #include <iostream> #include <vector> #include <stack> #include <algorithm> using namespace std; struct Tree 展开全文
头像 城志
发表于 2020-02-20 09:32:28
import java.util.Stack; class Node{ Node left; Node right; char val; public void Node(char value){ this.val = value; } } 展开全文
头像 牛牛王666
发表于 2022-08-15 10:03:12
java使用栈构造二叉树(不会构造二叉树的看进来) 遍历就很简单了 大家自己遍历遍历就行 感觉题目其实表达的不是特别清楚 我第一次构造树的时候就搞错了 import java.util.*; public class Main{ public static void main(Strin 展开全文
头像 刷代码的小菜鸡
发表于 2022-07-05 21:24:11
创建二叉树过程: 根据每一行创建一个父节点及其两个子节点; 每一行的开头的节点就是按照先序遍历过程; 创建树的过程就是先序遍历;
头像 完结君
发表于 2022-05-11 16:39:11
tree_candidates = dict() Node_num, root_val = map(int, input().split()) for _ in range(Node_num): root, left, right = map(int, input().split()) 展开全文
头像 SESA635851施耐德
发表于 2022-04-06 10:24:44
package main import (     "fmt"     "os"     "bufio"     "strconv"     "strings" ) type TreeNode1 s 展开全文
头像 胖橘不乖
发表于 2022-05-28 15:17:09
import java.io.*; import java.util.*; public class Main{     public static void main(String[] args)throws IOException{       展开全文

问题信息

上传者:小小
难度:
16条回答 4929浏览

热门推荐

通过挑战的用户

查看代码