zoukankan      html  css  js  c++  java
  • 翻转一棵二叉树

    问题描述:

    翻转一棵二叉树

    示例:

    输入:

         4
       /   
      2     7
     /    / 
    1   3 6   9

    输出:

         4
       /   
      7     2
     /    / 
    9   6 3   1
                                           
    解法:
    1.用递归来解决
    2.首先判断根是不是空(递归出口)
    3.如果不是空则交换左右子数
    4.对左子树进行递归
    5.对右子树进行递归

    # 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 root == None:
                return root
            # if root.left == None and root.right == None:
            #     return root   
            temp = root.left
            root.left = root.right
            root.right = temp
            #递归左
            self.invertTree(root.left)
            #递归右
            self.invertTree(root.right)
            return root
    
    
  • 相关阅读:
    grid layout
    flex box布局
    box-shadow
    text-shadow
    border-radius
    manjaro conky配置
    博客园样式设置
    python排序参数key以及lambda函数
    python-批量解压zip、rar文件
    Python
  • 原文地址:https://www.cnblogs.com/yejiang/p/10300107.html
Copyright © 2011-2022 走看看