zoukankan      html  css  js  c++  java
  • 226. Invert Binary Tree

    倒置二叉树
    答案:

    递归方法

    # Definition for a binary tree node.
    # class TreeNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution(object):
        def invertTree(self, root):
            """
            :type root: TreeNode
            :rtype: TreeNode
            """
            if root == None:
                return None
            root.right,root.left = self.invertTree(root.left),self.invertTree(root.right)
            
            return root 

    迭代方法:

    # Definition for a binary tree node.
    # class TreeNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution(object):
        def invertTree(self, root):
            """
            :type root: TreeNode
            :rtype: TreeNode
            """
            if root==None or root.left==root.right==None: return root
            parent = [root]
            while len(parent):
                children = []
                for node in parent:
                    node.left, node.right = node.right, node.left
                    if node.left: children.append(node.left)
                    if node.right: children.append(node.right)
                parent = children
            return root
  • 相关阅读:
    Angular 中使用第三方模块 axios 请求数据
    angular 创建服务
    Promise和RxJS处理异步对比
    ES6中的迭代器(Iterator)和生成器(Generator)
    async await
    Ajax分析
    JSTL
    EL
    Spring-常用依赖及配置
    Spring-AOP的三种方式
  • 原文地址:https://www.cnblogs.com/sxbjdl/p/5251619.html
Copyright © 2011-2022 走看看