1.题目
检查两棵二叉树是否等价。等价的意思是说,首先两棵二叉树必须拥有相同的结构,并且每个对应位置上的节点上的数都相等。
2.算法
这道题先序,中序,后序都可以完成,我们思考另一种解法,如果两个节点都为空,说明到头了,如果一个为空,另一个不为空,则两棵树不同,如果两棵树节点都有,并且值也相同,则遍历下一个节点,否则两树不同
public boolean isIdentical(TreeNode a, TreeNode b)
{
// Write your code here
if (a == null && b == null)
{
return true;
}
if (a == null || b == null)
{
return false;
}
if (a.val != b.val)
{
return false;
}
return isIdentical(a.left, b.left) && isIdentical(a.right, b.right);
}