题目考查的知识点

  • 二叉树遍历
  • 递归

题目解答方法的文字解析

isSameTree定义如下

  1. p空,q非空,返回false
  2. q空,p非空,返回false
  3. q空,p空,返回true
  4. q->val != p->val,返回false
  5. 递归,判断左右子树是否相等

本题解析所用的编程语言

  • c++

完整且正确的编程代码

bool isSameTree(TreeNode* p, TreeNode* q) {
  if (p && !q)return false;
  else if (!p && q)return false;
  else if (!p && !q)return true;
  else if (p->val != q->val)return false;
  return isSameTree(p->left, q->left) & isSameTree(p->right, q->right);
}