• Leetcode练习(Python):树类:第226题:翻转二叉树:翻转一棵二叉树。


    题目:

    翻转二叉树:翻转一棵二叉树。

    示例:

    输入:

    4
    /
    2 7
    / /
    1 3 6 9
    输出:

    4
    /
    7 2
    / /
    9 6 3 1
    备注:
    这个问题是受到 Max Howell 的 原问题 启发的 :

    谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了

    思路:

    思路较简单,使用递归来实现。

    程序:

    # 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: TreeNode) -> TreeNode:
            if not root:
                return None
            self.auxiliary(root)
            self.invertTree(root.left)
            self.invertTree(root.right)
            return root
        def auxiliary(self, root: TreeNode):
            root.left, root.right = root.right, root.left

      

  • 相关阅读:
    SPOJ SAMER08A
    SPOJ TRAFFICN
    CS Academy Set Subtraction
    CS Academy Bad Triplet
    CF Round 432 C. Five Dimensional Points
    CF Round 432 B. Arpa and an exam about geometry
    SPOJ INVCNT
    CS Academy Palindromic Tree
    身体训练
    简单瞎搞题
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12915482.html
Copyright © 2020-2023  润新知