每年,中北地区,随着色彩斑斓的秋天的到来,树上的叶子也会落下。如果二叉树上的叶子也从树上落下来,那些成堆的树叶会变成多大呢?
我们假设二叉树上每个节点掉落的“树叶”的数量就是这个结点上存储的那个整数值,假设所有的“树叶”掉落的时候都是垂直的下落的,最后假设每个结点都有一个水平位置,使得节点的左子结点在它左边1个单位,右子结点在右边1个单位。
例如下图的二叉树:
值为5和值为6的两个结点的水平位置是一样的(垂直位置不一样),值为7的节点在值为5和值为6的节点左边一个单位,而值为3的节点在这两个节点右边一个单位。这个二叉树上的节点上的“树叶”掉落的时候,一共会产生三堆树叶,值为7的节点上的“树叶”掉落后成一堆,这堆树叶的值是7,值为5和值为6的节点上的“树叶”掉落后成一堆,这堆树叶的值是11(5+6=11),值为3的节点上的“树叶”掉落后成一堆,这堆树叶的值是3.
给定一些二叉树,编写一个程序按从左到右的顺序输出每个二叉树的每一堆树叶的值。