一、前言
《二叉树的镜像》在验证二叉树是互为镜像时,给出了三种方法,本文对这三种方法进行说明
二、题目
判断两颗二叉树是否互为镜像。
三、思路
三种解决方法:
方法一,将其中一颗二叉树转为镜像,并与另外一棵树进行比较判断各节点值是否相等
方法二,互为镜像的两个二叉树,每层数据顺序相反,逐层判断即可,需要注意结点为空的情况。前面文章中《从上往下打印二叉树》给出了获得逐层获得树数据方法。
方法三:递归实现——树1左结点和树2右结点判断;树1右结点和树2左结点判断。
三种方法特点:
方法一:在《二叉树的镜像》基础上可以得到镜像,比较两个镜像树结点是否相等,理解了《二叉树的镜像》,这种方法也就很好理解
方法二:互为镜像的二叉树,每层数据顺序相反,直接判断即可,易于理解但是获得每层数据和比较相等麻烦些。
方法三种:思路相对抽象,编码简单。
四、编码实现
//======