【題目】
請把一段紙條豎著放在桌子上,然後從紙條的下邊向上方對折1次,壓出摺痕後展開。此時
摺痕是凹下去的,即摺痕突起的方向指向紙條的背面。如果從紙條的下邊向上方連續對折2
次,壓出摺痕後展開,此時有三條摺痕,從上到下依次是下摺痕、下摺痕和上摺痕。給定一
個輸入引數n,代表紙條都從下邊向上方連續對折n次,請從上到下列印所有摺痕的方向。
例如:n=1時,列印:
down
n=2時,列印:
down
down
up【思路】
首先畫圖
折3次後,摺痕是下下上下下上上。我們把上圖逆時針看,如下圖
通過上圖可以發現,2摺痕左邊第乙個都是下摺痕,2折橫右邊第乙個都是上摺痕。根據這個規律可以想象成二叉樹結構。
題目要求依次從上到下列印折橫「下下上下下上上」,在二叉樹中就是中序遍歷。整棵樹的頭結點是下折橫,每棵左子樹的頭結點是下折橫,每棵右子樹的頭結點是上摺痕。
**:
public class *****folding
//i表示當前層數
public static void printprocess(int i, int n, boolean down)
printprocess(i + 1, n, true);
system.out.println(down ? "down " : "up ");
printprocess(i + 1, n, false);
} public static void main(string args)
}
紙條摺痕(對折N次)列印問題
問題描述 把一段紙條豎放在桌子上,然後從紙條的下邊向上方對折一次,壓出摺痕後展開。此時摺痕是凹下去的。如果從紙條的下邊向上方連續對折兩次,壓出摺痕後展開,此時有三條摺痕,從上到下依次是凹 凹 凸。給定乙個引數n,代表紙條從下到上連續對折n次。請從上到下列印所有摺痕的方向。eg n 1,列印down ...
C 摺紙問題
給定輸入引數n,代表紙條從下邊向上方對折n次,請從上到下列印所有摺痕方向 1.將一張紙分為粉,黑兩面,粉色為正面,黑色為反面。2.第一次對折時粉色朝上,對折之後產生乙個向下的摺痕,這時我們把對折之後的紙粉色朝下,讓摺痕朝上把這個摺痕看成是二叉樹的根結點。3.第二次對折新產生的兩個摺痕就是根結點的子節...
演算法 摺紙問題
左程雲演算法與資料結構課 請把一段紙條豎著放置,然後從紙條的下邊向上方對折一次,壓出摺痕後展開,此時摺痕是凹下去的。如果從紙條下邊向上方連續對折兩次,壓出摺痕後展開,此時有三條摺痕,從上到下摺痕的方向依次是凹 凹 凸。給定乙個輸入引數 n,代表紙條從下邊向上方連續對折 n 次,請從上到下列印摺痕的方...