LeetCode 572. Subtree of Another Tree

题解

题很简单但要写得简洁优雅也不容易。
给出的代码递归写得非常漂亮。


Code

bool isSubtree(TreeNode* s, TreeNode* t) {
        if(!s) return false;
        if(isSame(s,t)) return true;
        // 点睛之笔
        return isSubtree(s->left,t) || isSubtree(s->right,t);
    }
    
 bool isSame(TreeNode* s, TreeNode* t){
        if(!s && !t) return true;
        if( !s||!t ) return false;
        if(s->val != t->val) return false;
        
        return isSame(s->left,t->left) && isSame(s->right,t->right);
    }

你可能感兴趣的:(LeetCode,树及衍生物,搜索,分治)