LeetCode 翻轉二叉樹

2021-10-21 04:09:08 字數 970 閱讀 8557

題目描述:

翻轉一棵二叉樹。

示例:輸入:

解題思路:

我們用遞迴的方法來做這道題。

我們對乙個根節點的左右子樹進行翻轉操作,即是交換左右子樹;對左子樹和右子樹遞迴呼叫翻轉操作即可。

最後,遞迴結束的條件是遇到葉子結點,或者空節點。

python**:

# definition for a binary tree node.

# class treenode(object):

# def __init__(self, val=0, left=none, right=none):

# self.val = val

# self.left = left

# self.right = right

class

solution

(object):

definverttree

(self, root)

:"""

:type root: treenode

:rtype: treenode

"""if root is

none

or(root.left is

none

and root.right is

none):

return root

root.left, root.right = self.inverttree(root.right)

, self.inverttree(root.left)

return root

LeetCode 翻轉二叉樹

翻轉一棵二叉樹。示例 輸入 4 2 7 1 3 6 9 輸出 4 7 2 9 6 3 1 備註 這個問題是受到 max howell 的 原問題 啟發的 谷歌 我們90 的工程師使用您編寫的軟體 homebrew 但是您卻無法在面試時在白板上寫出翻轉二叉樹這道題,這太糟糕了。思路分析 如果需要翻轉一...

LeetCode 翻轉二叉樹

翻轉一棵二叉樹。示例 輸入 4 2 7 1 3 6 9 輸出 4 7 2 9 6 3 1 由題目描述可知,需要對輸入的二叉樹的每個節點執行左右子樹對調操作。因此,由二叉樹的先序遍歷遞迴演算法修改一下,即可實現遞迴的對二叉樹每個節點執行對調操作。definition for a binary tree...

leetcode題目 翻轉二叉樹

翻轉一棵二叉樹。示例 輸入 4 27 13 69輸出 4 72 96 31備註 這個問題是受到 max howell 的 原問題 啟發的 谷歌 我們90 的工程師使用您編寫的軟體 homebrew 但是您卻無法在面試時在白板上寫出翻轉二叉樹這道題,這太糟糕了。樹的結構 description aut...