public class Solution { public boolean HasSubtree(TreeNode root1,TreeNode root2) { if(root2==null){ return false; } if(root1==null){ return false; } return isSubtree(root1,root2)||HasSubtree(root1.left,root2)||HasSubtree(root1.right,root2); } public static boolean isSubtree(TreeNode root1,TreeNode root2){ if(root2==null)//關鍵,順序不能返 return true; if(root1==null){ return false; } if(root1.val==root2.val){//這里一定不要直接比較他們兩個地址是否相同。 return isSubtree(root1.left,root2.left)&&isSubtree(root1.right,root2.right); } return false; } }
