- 分析
递归,judge来判断t1和t2是否相同。 - 代码
class Solution {
public:
bool checkSubTree(TreeNode* t1, TreeNode* t2) {
if(t2 == nullptr) return true;
if(t1 == nullptr) return false;
return judge(t1, t2) || checkSubTree(t1 -> left, t2) || checkSubTree(t1 -> right, t2);
}
bool judge(TreeNode* t1, TreeNode* t2){
if(t1 == nullptr && t2 == nullptr){
return true;
}
if(t1 == nullptr || t2 == nullptr){
return false;
}
return t1 -> val == t2 -> val && judge(t1 -> left, t2 -> left) && judge(t1 -> right, t2 -> right);
}
};