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.
思路:如果两颗二叉树A,B的根结点都存在且他们的值相同,那么就继续判断A的左子树与B的左子树,A的右子树与B的右子树是否一样。可以采用递归的方法实现。
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
class Solution {
public:
bool isSameTree(TreeNode *p, TreeNode *q)
{
if(p==NULL && q==NULL)
return true;
else if(p && q && p->val == q->val)
return isSameTree(p->left , q->left) && isSameTree(p->right , q->right);
else
return false;
}
};
本文介绍了一种检查两棵二叉树是否等价的方法。等价是指两棵树不仅结构相同,而且每个节点的值也相同。通过递归比较两棵树的根节点及其左右子树来实现。
1006

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



