[劍指Offer] 27_二叉樹的映象
阿新 • • 發佈:2019-01-13
題目
請完成一個函式,輸入一棵二叉樹,該函式輸出它的映象。
例:
8 8
/ \ / \
6 10 10 6
/ \ / \ / \ / \
5 7 9 11 11 9 7 5
思路
- 交換左右子樹,遍歷至葉節點終止即可。
- 時間複雜度:O(n)
- 空間複雜度:O(1)
程式碼
def mirror_of_binary_tree(root) :
"""
:param root: root
:return: mirror tree root
"""
if not root:
return
root.left, root.right = root.right, root.left
mirror_of_binary_tree(root.left)
mirror_of_binary_tree(root.right)
return root
思考
1.這樣改變了原來樹的結構,如果需要生成一棵新樹的話。