如果我有预订和后序遍历,我可以构建一个不一定是二叉树的树吗?类似的东西:
预订:KLMOPN
订购后:LOPMNK
构建
K
/ | \
L M N
/ \
O P
我已经读过,如果不对二叉树进行顺序遍历,这是不可能的,但是对于非二叉树,只能对前序和后序遍历执行此操作吗?
答案 0 :(得分:1)
如果树在节点中完成(假设它是3节点树,左,中,右)。 你会写一个递归函数。
Void Transverse(Node n){
if( n.left ==null && n.middle==null && n.right ==null){
System.out.print(n.value);
return;
}
Transverse(left);
Transverse(middle);
Transverse(right);
System.out.print(n.value);
}
这是一些伪代码(我假设OP来自M)。这将从您显示的树中打印出LOPMNK。
k-> L(打印L) - > k-> M-> O(打印O) - > M-> P(打印P) - > M(打印M) - > k-> N(打印N) - > k(打印k)。
订单是否会发生。