力扣 面试题28. 对称的二叉树(递归)

Posted 小布丁value

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了力扣 面试题28. 对称的二叉树(递归)相关的知识,希望对你有一定的参考价值。

面试题28. 对称的二叉树(递归)

  • 请实现一个函数,用来判断一棵二叉树是不是对称的
  • 如果一棵二叉树和它的镜像一样,那么它是对称的。
  • 解题思路:
  • 对于二叉树的定义,对于两个任意对称的结点V和L V.val=R.val;
  • 1.V.left.val=R.right.val;
  • 2.V.right.val=R.right.val;
  • 考虑特殊情况:
  • 1.左右都为NULL对称
  • 2.在1.前提下,即左右一定不都是NULL,左右只有一方是null 不对称
  • 3.递归继续遍历

图解:
在这里插入图片描述

public class Offer28 {
    public boolean isSymmetric(TreeNode root){
        return   (root==null)?true:recur(root.left,root.right);
    }
    boolean recur(TreeNode L,TreeNode R){
        if(L==null&&R==null) return true;
       if(L==null||R==null||L.val!=R.val) return false;
       return  recur(L.left,R.right)&&recur(L.right,R.left);

    }
}

以上是关于力扣 面试题28. 对称的二叉树(递归)的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode面试题28. 对称的二叉树

剑指offer面试题 28. 对称的二叉树

面试题28:对称的二叉树

面试题28:对称的二叉树

面试题28:对称的二叉树

剑指Offer面试题28. 对称的二叉树