面試題27 二叉樹的映象

2021-09-20 15:08:43 字數 755 閱讀 4379

題目描述

操作給定的二叉樹,將其變換為源二叉樹的映象。

解題思路:

先前序遍歷這棵樹的每個結點,如果遍歷到的結點有子結點,就交換它的兩個子節點,

當交換完所有的非葉子結點的左右子結點之後,就得到了樹的映象

純前序遍歷的遞迴**

class solution 

}};

遞迴的另一種表達方式:

struct treenode 

};class solution

treenode* tmp = proot -> left;

proot -> left = proot -> right;

proot -> right = tmp;

mirror(proot -> left);

mirror(proot -> right);

}};

非遞迴實現:

/*

struct treenode

};*/

class solution

if (null != proot -> left)

stacktreenode.push(proot -> left);

if (null != proot -> right)

stacktreenode.push(proot -> right);

}return;

}};

面試題27 二叉樹的映象

面試題27 二叉樹的映象 題目 操作給定的二叉樹,將其變換為源二叉樹的映象。思路 1 找到不為空的節點。2 然後交換左右節點。3 遞迴呼叫此函式 classtreenode3 publicclassno27mirror publicvoidmirror treenode3 root if root ...

面試題27 二叉樹的映象

一 題目 請完成乙個函式,輸入乙個二叉樹,該函式輸出它的映象。二 關鍵 三 解釋 1.解題思路 先前序遍歷這棵樹的所有節點,如果遍歷到的節點有子節點,就交換它的兩個子節點。當交換完所有非葉節點的左 右節點之後,就得到了樹的映象。2.尚未證明 解題思路二 直接前序遍歷,不過先遍歷右邊的,再遍歷左邊的 ...

面試題27 二叉樹的映象

操作給定的二叉樹,將其變換為源二叉樹的映象。二叉樹的映象定義 源二叉樹 8 6 10 5 7 9 11 映象二叉樹 8 10 6 11 9 7 5考察點 數的遍歷演算法 畫 決抽象問題 遞迴運用。思路1 樹的問題用遞迴解決 易懂,清晰。class solution 思路2 迴圈的想法,用佇列暫存左右...