美文网首页
对称的二叉树-Java

对称的二叉树-Java

作者: myserendipit | 来源:发表于2018-08-02 22:12 被阅读8次

public class SymmetricalBinaryTree {

  /**
   * 对称的二叉树
   * <p>
   * 判断二叉树是否对称的,需要定义一个新前序遍历方案,从右节点开始遍历;看是否和左前序遍历相同
   * 要考虑为null的子节点,因为有可能二叉树全部的值都是相同的,但也不是对称二叉树。
   */
  public static boolean isSymmetrical(TreeNode node) {
    return isSymmetrical(node, node);
  }

  public static boolean isSymmetrical(TreeNode node1, TreeNode node2) {
    if (node1 == null && node2 == null) return true;
    if (node1 == null || node2 == null) return false;
    if (node1.value != node2.value) return false;

    return isSymmetrical(node1.leftNode, node2.rightNode) &&
        isSymmetrical(node1.rightNode, node2.leftNode);
  }
}

相关文章

  • 【LeetCode】101-对称二叉树

    对称二叉树 题目 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的...

  • LeetCode-101-对称二叉树

    LeetCode-101-对称二叉树 101. 对称二叉树[https://leetcode-cn.com/pro...

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

    对称的二叉树 题目描述 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称...

  • 剑指offer | 对称二叉树

    对称二叉树 请实现一个函数,用来判断一棵二叉树是不是对称的如果一棵二叉树和它的镜像一样,那么它是对称的 分析:根据...

  • 2019-04-09 BFS广度优先搜索刷题Day1

    Leetcode 101 对称二叉树 题目描述: 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2...

  • 剑指offer第二版-28.对称的二叉树

    本系列导航:剑指offer(第二版)java实现导航帖 面试题28:对称的二叉树 题目要求:判断一棵二叉树是不是对...

  • 第九天的leetcode刷题

    今天的题目是判断是否为对称二叉树:101. 对称二叉树[https://leetcode-cn.com/probl...

  • 每周 ARTS 第 8 期

    1. Algorithm 101. 对称二叉树(简单) 描述: 给定一个二叉树,检查它是否是镜像对称的。 示例: ...

  • Swift 对称二叉树 - LeetCode

    题目: 对称二叉树 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对...

  • LeetCode 101. 对称二叉树 | Python

    101. 对称二叉树 题目 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3]...

网友评论

      本文标题:对称的二叉树-Java

      本文链接:https://www.haomeiwen.com/subject/xwhevftx.html