Tree Sub Structure 树的子结构

Tree Sub Structure 树的子结构

给2棵二叉树A,B,判断B是不是A的子结构。(空不是任何的子结构)

B是A的子结构,说明A中有和B相同的结构和节点

A = [3,4,5,1,2], B = [4,1]
true

思路

对树的左右子树做递归匹配

递归

 public boolean isMatch(TreeNode A, TreeNode B){
    
    
        if(A==null ){
    
    
            return false;
        }
        if( B==null){
    
    
            return false;
        }
         
        return A.val ==B.val&& isMatch(A.left,B.left)&&isMatch(A.left,B.left);
    }

    public boolean isSubStructure(TreeNode A, TreeNode B){
    
    
        if(A==null ){
    
    
            return false;
        }
        if( B==null){
    
    
            return false;
        }
        if(A.val == B.val&&isMatch(A,B)){
    
    
            return true;
        }

        return isSubStructure(A.left,B)||isSubStructure(A.right,B);
    }

Tag

tree

おすすめ

転載: blog.csdn.net/edisonzhi/article/details/115795807