对称的二叉树

image.png

题目分析

首先根据题目要求,我们观察规律发现对称的二叉树根的左子树和右子树是相同的,而且左子树的左节点应该等于右子树的右节点,右节点等于右子树的左节点,即 Lef.left==Righ.right;
Lef.right==Righ.left;

题解 递归

  • 首先判断是不是空的,如果是空的那也是对称的,然后定义左节点和又节点,然后将左节点和右节点扔进去递归
  • 递归先判断两个是不是都是空的,如果两个都是空的那就说明这俩是一样的满足题目要求,就return true,如果两个不同时为空,但是其中有一个为空或者两个都不为空但是值并不相同,那就说明这个是不对称的,返回false;
  • 排除前面这两种情况那就是两个都不为空并且值相同,那就继续对当前左节点的左节点和右节点的右节点、左节点的右节点和右节点的左节点,进行递归,并且这俩都得是true,俩有一个不是true,那也不满足对称的条件
  • 解答
    image.png
    下面这个和上面这个是一样的
    image.png

Loccy
4 声望1 粉丝