二叉樹的映象 jobdu 1521

2021-06-21 11:21:25 字數 1139 閱讀 8443

jobdu--1521:二叉樹的映象

時間限制:1 秒記憶體限制:128 兆特殊判題:否提交:878解決:227

題目描述:

輸入乙個二叉樹,輸出其映象。

輸入:輸入可能包含多個測試樣例,輸入以eof結束。

對於每個測試案例,輸入的第一行為乙個整數n(0<=n<=1000,n代表將要輸入的二叉樹節點的個數(節點從1開始編號)。接下來一行有n個數字,代表第i個二叉樹節點的元素的值。接下來有n行,每行有乙個字母ci。

ci=』d』表示第i個節點有兩子孩子,緊接著是左孩子編號和右孩子編號。

ci=』l』表示第i個節點有乙個左孩子,緊接著是左孩子的編號。

ci=』r』表示第i個節點有乙個右孩子,緊接著是右孩子的編號。

ci=』z』表示第i個節點沒有子孩子。

輸出:對應每個測試案例,

按照前序輸出其孩子節點的元素值。

若為空輸出null。

樣例輸入:

8 6 10 5 7 9 11

d 2 3

d 4 5

d 6 7zz

zz樣例輸出:

8 10 11 9 6 7 5

//jobdu-1521-ac

#include

#include

using namespace std;

# define max 1001

struct node;

int n;int res[max];

node* po[max];

void f_init()

for(int i=0;i

>ch;

switch (ch)

case 'l':

case 'r':

default:

}//switch }}

void f_mirror(node *t)

void f_out(node* t)

void f_print()

for(int i=0;i

0) cout<

>n) return 0; }

九度 1521 二叉樹的映象

題目描述 輸入乙個二叉樹,輸出其映象。思路 1.二叉樹映象的判定,映象樹的建立是類似的題目.2.的框架是 func root1,root2 函式體內部是 func root1 left,root right func root left,root right 3.建立的方法都是 bottomup,這...

映象二叉樹

映象二叉樹與二叉樹的區別是左右孩子對於根節點的相對大小剛好相反不用建立映象樹,通過對原樹的映象便歷,即可得到所需的東西。後序 樹 lr根,映象 rl根。如果創立映象二叉樹,insert 改一下即可,這樣可以把preordermirror 等去掉。對於遍歷後的排序放到vector陣列裡便於比較,而且進...

映象二叉樹

題目描述 操作給定的二叉樹,將其變換為源二叉樹的映象。思路 1 獲取源二叉樹的映象,將源二叉樹的左右子樹交換即可 2 主要步驟 若二叉樹為空,直接返回 若二叉樹不為空,交換其左右子樹 遞迴的將二叉樹的其他結點進行交換 public class treenode public class soluti...