题目链接
题目描述
给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例
示例1:

输入:p = [1,2,3], q = [1,2,3] 输出:true
提示
- 两棵树上的节点数目都在范围 [0, 100] 内
-
思路
题解
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/class Solution {public:bool isSameTree(TreeNode *p, TreeNode *q) {if (p == nullptr && q == nullptr) {return true;} else if (p == nullptr || q == nullptr) {return false;} else if (p->val != q->val) {return false;} else {return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);}}};
复杂度分析
时间复杂度:
- 空间复杂度:
