/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ class Solution { public: /** * * @param p TreeNode类 * @param q TreeNode类 * @return bool布尔型 */ bool isSameTree(TreeNode* p, TreeNode* q) { // write code here if (p==NULL&&q==NULL) return true; if (p==NULL||q==NULL) return false; return (p->val==q->val)&&isSameTree(p->left, q->left)&&isSameTree(p->right, q->right); } };
实现思路:两树相等 等价于 两树根节点的值相等且两树的左右子树分别相等,即可递归实现
边界条件:空树与空树相等,空树与非空树不等