题解 | #树的子结构#
树的子结构
https://www.nowcoder.com/practice/6e196c44c7004d15b1610b9afca8bd88
public class Solution { public boolean HasSubtree(TreeNode root1,TreeNode root2) { if(root1==null||root2==null)return false; return isSame(root1,root2)||HasSubtree(root1.left,root2)||HasSubtree(root1.right,root2); } public boolean isSame(TreeNode root1,TreeNode root2){ //必须先判断2,因为有可能同时null,先判断1会出错!!!! if(root2==null)return true;//2先空,子树,true if(root1==null)return false;//1先空,false if(root1.val==root2.val){//本次递归的根结点相同,继续比较子树是否一致 return isSame(root1.left,root2.left)&&isSame(root1.right,root2.right); }else{ return false; } } }