美文网首页
leetcode-226. 翻转二叉树

leetcode-226. 翻转二叉树

作者: 秸秆混凝烧结工程师 | 来源:发表于2021-05-31 10:35 被阅读0次

    题目:

    翻转一棵二叉树。

    示例:

    输入:

    4

    / \

    2 7

    / \ / \

    1 3 6 9

    输出:

    4

    / \

    7 2

    / \ / \

    9 6 3 1

    备注:

    这个问题是受到 Max Howell 的 原问题 启发的 :

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

    Related Topics 树

    👍 844 👎 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 not None:
    root.left,root.right = self.invertTree(root.right),self.invertTree(root.left)
    return root

    leetcode submit region end(Prohibit modification and deletion)

    AC 答案:

    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:
    stack =[root] #用栈来接收每一层的元素
    while stack:
    node = stack.pop()
    if node:
    node.left,node.right = node.right,node.left #交换每一层的左右子树
    return root

    作者:vigilant-7amportprg
    链接:https://leetcode-cn.com/problems/invert-binary-tree/solution/die-dai-ban-ben-jie-jue-fan-zhuan-er-cha-1ja0/
    来源:力扣(LeetCode)
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    相关文章

      网友评论

          本文标题:leetcode-226. 翻转二叉树

          本文链接:https://www.haomeiwen.com/subject/nzgvsltx.html