给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
int SameTree(struct TreeNode* p, struct TreeNode* q)
{
if(!p&&!q)
return 1;
if(!p||!q||(p->val!=q->val))
return 0;
int left = SameTree(p->left, q->left);
if(left==0) return 0;
int right = SameTree(p->right, q->right);
if(right==0) return 0;
return 1;
}
bool isSameTree(struct TreeNode* p, struct TreeNode* q){
return SameTree(p, q) ? true : false;
}
本文介绍了一个用于判断两棵二叉树是否完全相同的函数实现。该函数通过递归方式检查每一对节点是否具有相同的值及结构,适用于计算机科学中的数据结构与算法学习。
1049

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



