劍指offer 二叉樹的映象

2021-08-08 23:10:34 字數 510 閱讀 4822

最近在刷劍指offer的題目,剛好碰到樹,我比較薄弱的一環,將自己思路寫出來和大家一起分享

時間限制:1秒

空間限制:32768k

熱度指數:98039

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

二叉樹的映象定義:源二叉樹 

8/ \

6 10

/ \ / \

5 7 9 11

映象二叉樹

8/ \

10 6

/ \ / \

11 9 7 5

這是一道求二叉樹映象的題目,剛開始我的想法是:將樹節點內的值進行交換,但經過我的嘗試發現這樣會超時,隨後經過仔細推敲,發現直接交換左右節點就可以了,複雜度也較低。這應該和我沒刷過到少提有關吧,思維存在一些問題,想來多刷題會好的

直接附上ac**:

/*struct treenode

};*/

class solution

};

劍指offer 二叉樹映象

操作給定的二叉樹,將其變換為源二叉樹的映象。二叉樹的映象定義 源二叉樹 8 6 10 5 7 9 11 映象二叉樹 8 10 6 11 9 7 5 這道題目就是交換樹的左右節點之後,遞迴呼叫。不遞迴的方法我覺得可以考慮使用層次遍歷那樣的佇列式方法,不過太麻煩了吧。coding utf 8 class...

劍指offer 二叉樹映象

操作給定的二叉樹,將其變換為源二叉樹的映象。二叉樹的映象定義 源二叉樹 8 6 10 5 7 9 11 映象二叉樹 8 10 6 11 9 7 5交換左右節點,遍歷左節點,右節點,求映象 class treenode def init self,item self.val item self.lef...

劍指offer 二叉樹映象

操作給定的二叉樹,將其變換為源二叉樹的映象。遞迴判斷是否為空 不為空交換左右子樹 左子樹呼叫 右子樹呼叫。兩種寫法 coding utf 8 class treenode def init self,x self.val x self.left none self.right none class ...