解决思路
递归
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)); }}