操作給定的二叉樹,將其變換為源二叉樹的映象。
1.如果是空樹,返回。
2.如果是只有乙個結點,映象是自己,直接返回。
3.否則,左子樹的映象,右子樹的映象。交換左右子樹,得到整棵樹的映象。
/*
public class treenode}*/
public class solution
}
# -*- coding:utf-8 -*-
# class treenode:
# def __init__(self, x):
# self.val = x
# self.left = none
# self.right = none
class solution:
# 返回映象樹的根節點
def mirror(self, root):
# write code here
if root==none:
return
if root.left==none and root.right==none:
return
self.mirror(root.left)
self.mirror(root.right)
root.left, root.right = root.right, root.left
劍指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 ...