題目:操作給定的二叉樹,將其變換為源二叉樹的映象。
二叉樹的映象定義:思路:交換6和10下面的一整串,再遞迴得到左右子樹的映象。源二叉樹:
8/ \
6 10
/ \ / \
5 7 9 11
映象二叉樹:
8/ \
10 6
/ \ / \
11 9 7 5
**:
/**
public class treenode }*/
public class solution
if(root.left == null && root.right == null)
//不是葉子節點:交換
//注意交換的是節點,不是值,把6和10下面的一整串都交換
treenode temp = root.left;
root.left = root.right;
root.right = temp;
if(root.left != null)
if(root.right != 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 ...