本文共 943 字,大约阅读时间需要 3 分钟。
给定两个二叉树,编写一个函数来判断它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
判断两个二叉树是否相同,需要满足以下条件:
我们可以使用递归的方法来解决这个问题。递归的终止条件是:
递归的步骤:
#includestruct TreeNode { int val; struct TreeNode* left; struct TreeNode* right;};bool isSameTree(struct TreeNode* p, struct TreeNode* q) { if (p == NULL && q == NULL) { return true; } else if (p == NULL || q == NULL) { return false; } else if (p->val != q->val) { return false; } else { return isSameTree(p->left, q->left) && isSameTree(p->right, q->right); }}
示例1
示例2
示例3
边界情况
该函数通过递归检查两个二叉树的结构和节点值,能够准确判断两棵树是否相同。
转载地址:http://yvdzz.baihongyu.com/