看到這個題目,你第一感覺就是完了,不懂啊,沒關係,我們看看什麼叫二叉樹的映象,一張圖說明:
話說二叉樹的映象,用兩個圖足以說明,我們說圖一是圖二的乙個映象,也可以說圖二的二叉樹是圖一二叉樹的乙個映象
看見圖中的鏡子了沒,想想鏡子起的作用,映象就是這麼來的
兩顆二叉樹特點分析:
1.都是二叉樹(哈哈)
2.二叉樹中資料完全相同。
3.除了根節點位置相同,其餘所有節點的左右孩子指標相反,包括根節點,即就是交換了左右孩子的指標;
唯一可以區分的就是第三條,也因為第三條,寫出如下**,很好理解:
//此二叉樹的映象賜教!void tomirror(binarytreenode* root)
//交換左右孩子指標
swap(root->_left,root->_right);
//遞迴左右子樹同樣的操作
tomirror(root->_left);
tomirror(root->_right);
}
映象二叉樹
映象二叉樹與二叉樹的區別是左右孩子對於根節點的相對大小剛好相反不用建立映象樹,通過對原樹的映象便歷,即可得到所需的東西。後序 樹 lr根,映象 rl根。如果創立映象二叉樹,insert 改一下即可,這樣可以把preordermirror 等去掉。對於遍歷後的排序放到vector陣列裡便於比較,而且進...
映象二叉樹
題目描述 操作給定的二叉樹,將其變換為源二叉樹的映象。思路 1 獲取源二叉樹的映象,將源二叉樹的左右子樹交換即可 2 主要步驟 若二叉樹為空,直接返回 若二叉樹不為空,交換其左右子樹 遞迴的將二叉樹的其他結點進行交換 public class treenode public class soluti...
二叉樹12 二叉樹的映象
題目 操作給定的二叉樹,將其變換為源二叉樹的映象。輸入描述 思路 首先要理解業務邏輯,何為映象?所謂映象就是對於任何乙個結點,將其左右子樹進行交換即可。對於一棵以root為根結點的二叉樹,要將其映象,首先將其左右子樹 root.left為根的子樹 和 root.right為根的子樹 進行映象,然後將...