Python3 翻轉二叉樹的實現
阿新 • • 發佈:2020-01-09
提出問題:翻轉一棵二叉樹。(除根結點以外)
原始二叉樹:
新二叉樹:
解題思路:遇見二叉樹先想到遞迴。從最下層的葉子結點開始置換左右子節點,一直置換到到最上層的根結點的左右節點為止。
程式碼如下( ̄▽ ̄):
# Definition for a binary tree node. # class TreeNode: # def __init__(self,x): # self.val = x # self.left = None # self.right = None class Solution: def invertTree(self,root: TreeNode) -> TreeNode: if root==None: return left = invertTree(root.left) right = invertTree(root.right) root.left = right root.right = left return root
時間與空間消耗:
問題來源:https://leetcode-cn.com/problems/invert-binary-tree/submissions/
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。