資料結構基礎練習 二叉樹的映象

2021-08-27 13:34:31 字數 1052 閱讀 4804

題目描述:輸入乙個二叉樹,輸出其映象。

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

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

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

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

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

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

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

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

若為空輸出null。

樣例輸入:

7

8 6 10 5 7 9 11

d 2 3

d 4 5

d 6 7zz

zz

樣例輸出:

8 10 11 9 6 7 5
思路很簡單,模擬一遍即可。樹的結構不用管,輸出時先右後左即可。

#include int n, a, i;

typedef struct node * pnode, node;

char temp[2];

node tree[1001];

void print(pnode root)

int main()

for ( i = 1; i <= n; i++) else if(temp[0] == 'l')

tree[i].l = &tree[a];

else if(temp[0] == 'r')

tree[i].r = &tree[a];

} if (n) else

puts("null");

} return 0;

}

leetcode(資料結構) 映象二叉樹

題目的意圖很明顯,就是然你寫個程式看看是不是對稱的,對稱的條件很明顯 左子樹點值等於右子樹的值 leftchild val rightchild val 然後我們想一想什麼樣的樹被稱為映象對稱?是不是當乙個樹的左子樹與右子樹映象對稱,那麼這個樹是對稱的。那麼問題是不是可以轉化成 兩個樹在什麼情況下互...

leetcode(資料結構) 映象二叉樹

題目的意圖很明顯,就是然你寫個程式看看是不是對稱的,對稱的條件很明顯 左子樹點值等於右子樹的值 leftchild val rightchild val 然後我們想一想什麼樣的樹被稱為映象對稱?是不是當乙個樹的左子樹與右子樹映象對稱,那麼這個樹是對稱的。那麼問題是不是可以轉化成 兩個樹在什麼情況下互...

資料結構 二叉樹基礎

資料結構真心不是蓋的啊!現在覺得為什麼公司面試和筆試,1 3的重點都處在這上面。真行不容易啊,並且很容易檢測出乙個人的實力到底如何。不要把二叉樹想的很複雜,其實就是鍊錶的公升級版 畢竟學渣,認識的太膚淺了,沒事,反正是寫給自己看的 汗 二叉樹的鏈式儲存結構 既然是鏈式,那麼無非就是使用鍊錶的形式進行...