劍指offer 二叉樹的映象

2021-09-11 05:23:03 字數 508 閱讀 8657

採用遞迴方法:依次從根節點開始交換左右子節點,遞迴到葉節點。

**如下:

struct treenode 

};class solution

};

非遞迴寫法思路如下:從根節點開始入棧,若棧非空,則取出棧頂元素,交換該元素節點的左右子節點,並且判斷該元素的左右子節點是否非空,若非空,則將其壓入棧中,如此迴圈,直到棧內元素全部彈出。

**如下(未經驗證,只看邏輯)

/*

struct treenode

};*/

class solution

if(root->right!=null)

if(root->left!=null);

}

} };

劍指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 ...