二叉树垂直遍历
题目描述
输入输出
示例输入
实例输出
DFS
BFS
更简单的方法
二叉树垂直遍历
题目描述
对于一个二叉树,输出它的垂直遍历结果;对于同一列的节点,按照从左向右,从上向下的顺序排列。
例如,对于以下二叉树:
1
/ \
2 3
/
4
垂直遍历的结果是:2 1 4 3
输入输出
输入
- 第一行是n,表示节点个数(节点编号从0到n-1);当n=-1时,表示输入结束
- 之后的n行,每一行有三个整数,分别表示:节点的数值,左子树的编号,右子树的编号(编号-1表示节点为空)
输出
- 针对每组输入,输出垂直遍历的结果
示例输入
4
1 1 2
2 -1 -1
3 3 -1
4 -1 -1
-1
实例输出
2 1 4 3
DFS
#include
#include
#include
#include
#include
#include
using namespace std;
struct Node {
int data;
Node *left;
Node *ri