二叉樹的映象

2022-04-12 10:27:06 字數 561 閱讀 7011

牛客網劍指offer的66道題,刷起來!每道題會提供簡單的思路以及測試通過的**

二叉樹結構:

class treenode 

}

在上題中我說了對於與二叉樹有關的題目,90% 是採取遞迴的方式來解決比較簡單的。而且解法還都非常相似,沒看過上道題的或許可以看一下:

如果你遞迴學了還不錯的話,這道題用遞迴會很簡單,我們假設函式 mirror() 就是求源二叉樹的映象。

剛開始的源二叉樹:

那麼我們可以先對根節點的左右子樹進行映象化:

left = mirror(root.left);

right = mirror(root.right);

映象化之後的結果:

之後我們只需要將 root 的左右節點進行交換即可

**如下:

public class 二叉樹的映象 

private treenode solve(treenode root)

}

映象二叉樹

映象二叉樹與二叉樹的區別是左右孩子對於根節點的相對大小剛好相反不用建立映象樹,通過對原樹的映象便歷,即可得到所需的東西。後序 樹 lr根,映象 rl根。如果創立映象二叉樹,insert 改一下即可,這樣可以把preordermirror 等去掉。對於遍歷後的排序放到vector陣列裡便於比較,而且進...

映象二叉樹

題目描述 操作給定的二叉樹,將其變換為源二叉樹的映象。思路 1 獲取源二叉樹的映象,將源二叉樹的左右子樹交換即可 2 主要步驟 若二叉樹為空,直接返回 若二叉樹不為空,交換其左右子樹 遞迴的將二叉樹的其他結點進行交換 public class treenode public class soluti...

二叉樹12 二叉樹的映象

題目 操作給定的二叉樹,將其變換為源二叉樹的映象。輸入描述 思路 首先要理解業務邏輯,何為映象?所謂映象就是對於任何乙個結點,將其左右子樹進行交換即可。對於一棵以root為根結點的二叉樹,要將其映象,首先將其左右子樹 root.left為根的子樹 和 root.right為根的子樹 進行映象,然後將...