从前序与中序遍历序列构造二叉树:ACM 模式刷题
按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。
题目描述
给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。
输入格式
第一行输入整数 n。
第二行输入 n 个前序遍历节点值;第三行输入 n 个中序遍历节点值。
输出格式
输出重建后树的层序序列,空位置输出 null,末尾多余的 null 省略。
数据范围
- 1 ≤ n ≤ 3000
- −3000 ≤ 节点值 ≤ 3000
- 两个序列包含相同且互不重复的值
公开样例
样例 1
输入
5 3 9 20 15 7 9 3 15 20 7
输出
3 9 20 null null 15 7
前序首元素 3 是根节点。
样例 2
输入
1 -1 -1
输出
-1
只包含一个节点。
练习建议
先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。