剑指 27.二叉树的镜像

在这里插入图片描述

镜面二叉树

明确一棵二叉树是不是对称的:
这棵树的左右子树必须同时是对称的

根据镜面二叉树的定义,其实思路就出来了,我们只需要将每个小子树的左右两个节点结构进行对换,最后一步就是左右两课大子树进行交换,整个镜像二叉树就出来了。
一定要理解清楚什么是镜面二叉树,做这道题就相对简单了

Class TreeNode(object):
      def __init__(self,value):
          self.val=value
          self.left=None
          self.right=None
Class Solution(object):
       def mirrorTree(self,root):
       """
        :type root: TreeNode
        :rtype: TreeNode
        """
	       def helper(root):
	           if not root: return root
	           left=helper(root.left)
	           right=helper(root.right)
	           root.left,root.right=right.left
	           return root
	       return helper(root)

其实好多时候把程序自己在纸上画一遍或走一遍对理解很有帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值