题目描述:
将一个长纸条对折n次,打印对折后的折痕的弯曲方向"凹凸”,往里为凹,往外为凸。
/*
规律:第n次新增加的折痕分布于第n-1次新增的折痕的两侧,上方为凹,下方为凸
思路:中序遍历二叉树
特点:根节点为凹,每个结点的左子树的根节点为凹,右子树为凸
*/
代码:
void printAllFolds(int N) {
printProcess(1, N, true);
}
//i为层数,N为总次数,down为true,则打印凹,否则打印凸
void printProcess(int i, int N, bool down) {
if (i > N)
return;
printProcess(i + 1, N, true);
if (down)
cout << "凹" << " ";
else
cout << "凸" << " ";
printProcess(i + 1, N, false);
}