确定好判断条件即可:
- 两者皆空为true,只有一个是空是false
- 都不为空则判等
- 相等的话继续往下递归
- 不等的话返回false
c++实现
class Solution {
public:
bool isSameTree(TreeNode* root1, TreeNode* root2) {
// write code here
if(root1 == nullptr && root2 ==nullptr)return true;
if(root1 == nullptr || root2 ==nullptr)return false;
if(root1->val == root2->val){
return isSameTree(root1->left, root2->left) && isSameTree(root1->right, root2->right);
}else{
return false;
}
}
};