Python3 翻轉二叉樹的實現

2022-09-27 01:57:08 字數 695 閱讀 6226

提出問題:翻轉一棵二叉樹。(除根結點以外)

原始二叉樹:

新二叉樹:

解題思路:遇見二叉樹先想到遞迴。從最下層的葉子結點開始置換左右子節點,一直置換到到最上層的根結點的左右節點為止。

**如下( ̄▽ ̄):

#lqbogt definition for a binary tree node.

# class lqbogttreenode:

# def __init__(self, x):

# self.val = x

# self.left = www.cppcns.comn程式設計客棧one

# self.right = none

class solution:

def inverttree(self, root: treenode) -> treenode:

if root==lqbogtnone:

return

left = inverttree(root.left)

right = inverttree(root.right)

root.left = right

root.right = left

return root

時間與空間消耗:

問題**:

本文標題: python3 翻轉二叉樹的實現

本文位址:

python實現二叉樹翻轉

題 給定一棵二叉樹,要求輸出其左右翻轉後二叉樹的中序遍歷。例 翻轉前 翻轉後 1 1 2 3 3 2 4 5 5 4思路 映象翻 只需要遍歷二叉樹,每次訪問乙個結點時,交換其左右孩子,然後遞迴的翻轉左右孩子。class node object def init self,val none lchil...

翻轉二叉樹

問題描述 翻轉一棵二叉樹 樣例 1 1 2 3 3 2 4 4 實現思路 從根出發開始操作,如果要操作的節點是空值,則不進行任何操作 否則,交換左右兒子,這裡新建乙個temp變數作為過渡。然後利用遞迴演算法,分別對左右子樹進行處理。實現 definition of treenode class tr...

翻轉二叉樹

invert a binary tree.4 2 7 1 3 6 9to 4 7 2 9 6 3 1 思路 採取先序遍歷,根 左子樹 右子樹,自上而下分別把結點的左子樹和右子樹翻轉,例如,結點4的左子樹2和右子樹7調換4 7 2 6 9 1 3 再依次呼叫inverttree函式傳左子樹和右子樹進去...