題目描述
操作給定的二叉樹,將其變換為源二叉樹的映象。
解題思路:
先前序遍歷這棵樹的每個結點,如果遍歷到的結點有子結點,就交換它的兩個子節點,
當交換完所有的非葉子結點的左右子結點之後,就得到了樹的映象
純前序遍歷的遞迴**
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 迴圈的想法,用佇列暫存左右...