Q:
翻转一棵二叉树。
示例:
输入:
4
/ \
2 7
/ \ / \
1 3 6 9
输出:
4
/ \
7 2
/ \ / \
9 6 3 1
链接:https://leetcode-cn.com/problems/invert-binary-tree/description/
思路:使用递归的方法,如果跟节点为空,则返回None,使用一个temp值,保存左子树,根节点的右分支连接到左子树,左分枝连接到右子树,递归直至所有节点为空
代码:
# 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):
"""
:type root: TreeNode
:rtype: TreeNode
"""
if not root:
return None
temp = root.left
root.left = self.invertTree(root.right)
root.right = self.invertTree(temp)
return root