题目
https://leetcode-cn.com/problems/same-tree/
简析
这个是简单的二叉树搜索题,递归搜就行了,不属于复杂的搜索回溯练习题。
递归,首先思考结束条件,即p和q都是NULL时结束递归,两个都是叶子节点了。
p或q为空就可以返回false了,两棵树已经不同。
另外,两棵树相同条件有三
- 值相同
- 左子树相同
- 右子树相同
代码
class Solution {
public:
bool isSameTree(TreeNode* p, TreeNode* q) {
if(p==NULL && q==NULL) return true;
else if(p==NULL || q==NULL) return false;
else return (p->val==q->val) &&
isSameTree(p->left,q->left)&&
isSameTree(p->right,q->right);
}
};
网友评论