题目:
给定两个二叉树,编写一个函数来检验它们是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
思路:
两个树同时开始遍历,当同时为null时相同,当所有当前节点值一样时相同,否则不同。
if (p == null && q == null)
{
return true;
}
else if (p == null || q == null || p.val != q.val)
{
return false;
}
else
{
bool isLeftSameTree = IsSameTree(p.left, q.left);
bool isRightSameTree = IsSameTree(p.right, q.right);
return isLeftSameTree && isRightSameTree;
}