判断两二叉树是否相等
Posted wei来世界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断两二叉树是否相等相关的知识,希望对你有一定的参考价值。
题目描述:给出两个二叉树,请写出一个判断两个二叉树是否相等的函数。判断两个二叉树相等的条件是:两个二叉树的结构相同,并且相同的节点上具有相同的值。
示例:
input:{1,2},{1,#,2}
output:false
思路:
递归:1)判断根节点的值是否相等,2)判断左右子树是否相等
数据结构:
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
};
代码
bool isSameTree(TreeNode* p, TreeNode* q) {
/*判断根节点是否为空*/
if (p == nullptr || q == nullptr)
return p == q;
if (p->val != q->val)
return false;
return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);
}
以上是关于判断两二叉树是否相等的主要内容,如果未能解决你的问题,请参考以下文章