构造二叉树(数组下标映射 + 跳过空位)
若数组为空或 nums[0] == -1,整棵树为空。
用一个与 nums 等长的数组 nodes 存放指针/引用,初始全为 None/NULL。
遍历 i = 0..n-1:
nums[i] == -1,说明该处为空节点,不创建;给定一个整数数组 nums,其中 nums[i] 表示二叉树节点的值。
按照以下规则构建二叉树:
nums[0]nums[i] 的左子节点是 nums[2*i + 1]nums[i] 的右子节点是 nums[2*i + 2]-1 表示 空节点,在构建树时跳过该节点。你的任务是:
输入一行,包含 若干整数,表示二叉树的层序数组表示。
(可能包含 -1,表示空节点)
按照层序遍历输出二叉树的所有节点,每个值占一行。
1 2 3 4 5 -1 6
1
/ \
2 3
/ \ \
4 5 6
1
2
3
4
5
6
5 3 8 -1 4 7 10
5
/ \
3 8
\ / \
4 7 10
5
3
8
4
7
10