题目描述:
Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value.
同时遍历p、q两个树,如果出现p、q两个树结构不同或者存在节点的值有不同,那么说明不是相同的树,遍历的过程可以通过的递归来实现。
class Solution {
public:
bool isSameTree(TreeNode* p, TreeNode* q)
{
if(p==NULL&&q==NULL)
return true;
else if((p==NULL&&q!=NULL)||(p!=NULL&&q==NULL))
return false;
else if(p->val!=q->val)
return false;
return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
}
};
本文介绍了一种通过递归比较两棵二叉树是否完全相同的方法,包括结构与节点值的对比。提供了C++代码实现,展示了如何检查两棵树是否在结构上一致且每个对应节点的值相等。
494

被折叠的 条评论
为什么被折叠?



