等价二叉树

描述

检查两棵二叉树是否等价。等价的意思是说,首先两棵二叉树必须拥有相同的结构,并且每个对应位置上的节点上的数都相等。

样例


考察点
  • 二叉树
  • 递归算法
答案
public boolean isIdentical(TreeNode a, TreeNode b) {
    // Write your code here
    if ((a == null && b != null) || (a != null && b == null))
        return false;
    if (a == null && b == null) {
        return true;
    }
    if (a.val != b.val)
        return false;
    if (a.left != null || b.left != null) {
        if (!isIdentical(a.left, b.left)) {
            return false;
        }
    }
    if (a.right != null || b.right != null) {
        if (!isIdentical(a.right, b.right)) {
            return false;
        }
    }
    return true;
}