題目描述:輸入乙個二叉樹,輸出其映象。
輸入:輸入可能包含多個測試樣例,輸入以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的重點都處在這上面。真行不容易啊,並且很容易檢測出乙個人的實力到底如何。不要把二叉樹想的很複雜,其實就是鍊錶的公升級版 畢竟學渣,認識的太膚淺了,沒事,反正是寫給自己看的 汗 二叉樹的鏈式儲存結構 既然是鏈式,那麼無非就是使用鍊錶的形式進行...