用 Python 编写的反转二叉树的程序
pythonserver side programmingprogramming更新于 2026/1/17 5:32:17
假设我们有一个二叉树根,我们必须将其反转,以便交换其左子树和右子树,并且还递归交换其子树。
因此,如果输入如下

那么输出将是

要解决这个问题,我们将遵循以下步骤 −
定义一个方法solve(),它将获取节点
如果root为null,则
返回
根的左边:=solve(根的右边)
根的右边:=solve(根的右边)
返回 root
让我们看看下面的实现以便更好地理解 −
示例
class TreeNode: def __init__(self, value): self.val = value self.left = None self.right = None def inorder(root): if root: inorder(root.left) print(root.val, end=', ') inorder(root.right) class Solution: def solve(self, root): if not root: return root.left, root.right = self.solve(root.right), self.solve(root.left) return root ob = Solution() root = TreeNode(5) root.left = TreeNode(4) root.right = TreeNode(10) root.right.left = TreeNode(7) root.right.right = TreeNode(15) inv = ob.solve(root) inorder(inv)
输入
root = TreeNode(5) root.left = TreeNode(4) root.right = TreeNode(10) root.right.left = TreeNode(7) root.right.right = TreeNode(15)
输出
15, 10, 7, 5, 4,
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

