解决思路
递归
class Solution {
public boolean isSubtree(TreeNode s, TreeNode t) {
//如果树为空,则s为空,则返回false
if(s == null){return false;}
//如果子树匹配,则返回true
if(isSame(s,t)){return true;}
return isSubtree(s.left,t) || isSubtree(s.right,t);
}
//判断子树是否相同
public boolean isSame(TreeNode s,TreeNode t){
//如果遍历到最后为空,则返回true
if(s==null && t==null){return true;}
//如果一个为空另一个非空则返回false
if(s==null || t==null){return false;}
//如果两个值不同则返回false
if(s.val != t.val){return false;}
//依次遍历左子树喝右子树
return (isSame(s.left,t.left) && isSame(s.right,t.right));
}
}