Day96 | 灵神 | 二叉树 相同的树
Day96 | 灵神 | 二叉树 相同的树
100.相同的树
100. 相同的树 - 力扣(LeetCode)
思路:
就是个easy题没啥好说的,就是遍历就行
不同
的情况是
1.p为空q不为空
2.p不为空q为空
3.pq值不同
相同
的情况是
pq均为空
注:pq值相同不能说明是true,还要看pq的左右子树
完整代码:
class Solution {
public:bool isSameTree(TreeNode* p, TreeNode* q) {if(p==nullptr&&q!=nullptr)return false;else if(p!=nullptr&&q==nullptr)return false;else if(p==nullptr&&q==nullptr)return true;else if(p->val!=q->val)return false;else if(p->val==q->val)return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);return false;}
};
灵神的简洁版代码
class Solution {
public:bool isSameTree(TreeNode* p, TreeNode* q) {if (p == nullptr || q == nullptr) {return p == q; // 必须都是 nullptr}return p->val == q->val && isSameTree(p->left, q->left) && isSameTree(p->right, q->right);}
};