判断两二叉树是否相等

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);}





以上是关于判断两二叉树是否相等的主要内容,如果未能解决你的问题,请参考以下文章

判断二叉树A是否包含二叉树B

如何判断两棵二叉树是否相等

2021-04-14:判断二叉树是否是满二叉树?

LeetCode 100. Same Tree 判断两棵二叉树是否相等

60.对称的二叉树

判断二叉树是否是镜像对称