问题描述
给定输入参数N,代表纸条从下边向上方对折N次,请从上到下打印所有折痕方向
分析
1.将一张纸分为粉,黑两面,粉色为正面,黑色为反面。
2.第一次对折时粉色朝上,对折之后产生一个向下的折痕,这时我们把对折之后的纸粉色朝下,让折痕朝上把这个折痕看成是二叉树的根结点。
3.第二次对折新产生的两个折痕就是根结点的子节点,
4.之后每一次对折都产生一层结点
5.我们规定左节点为下折痕,右节点为上折痕
6.从上到下打印这很方向就是这棵树的中序遍历
代码
class paperNode
{
public:
string item;
paperNode* left;
paperNode* right;
paperNode(){
}
paperNode(string item, paperNode* left, paperNode* right) {
this->item = item;
this->left = left;
this->right = right;
}
paperNode(const paperNode& x