[226]翻转二叉树

# 翻转一棵二叉树。 
# 
#  示例: 
# 
#  输入: 
# 
#       4
#    /   \
#   2     7
#  / \   / \
# 1   3 6   9 
# 
#  输出: 
# 
#       4
#    /   \
#   7     2
#  / \   / \
# 9   6 3   1 
# 
#  备注: 
# 这个问题是受到 Max Howell 的 原问题 启发的 : 
# 
#  谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。 
#  Related Topics 树 深度优先搜索 广度优先搜索 二叉树 👍 1041 👎 0


# leetcode submit region begin(Prohibit modification and deletion)
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def invertTree(self, root: TreeNode) -> TreeNode:
        if root is None:
            return None
        # 反转左子树作为新右子树
        new_right = self.invertTree(root.left)
        # 反转右子树作为新左子树
        new_left = self.invertTree(root.right)
        root.left, root.right = new_left, new_right
        return root
# leetcode submit region end(Prohibit modification and deletion)

 

posted @ 2021-10-28 22:01  小熊猫不是小浣熊  阅读(20)  评论(0)    收藏  举报