遍历二叉树s的每个节点,将节点与 t 树使用递归进行比较,实际是二叉树递归遍历的考察。
最近发现经常在递归的遍历应用时有点困难,不知道如何递归遍历,以及在递归中,结果的处理和输出位置。
对于递归的掌握需要加强。
class Solution {
public boolean isSubtree(TreeNode s, TreeNode t) {
if(s==null)return t==null;
return judge(s,t)||isSubtree(s.left,t)||isSubtree(s.right,t);
}
public boolean judge(TreeNode s, TreeNode t){
if(s==t) return true;
if(s!=null&&t!=null&&s.val==t.val){
return judge(s.left,t.left)&&judge(s.right,t.right);
}
return false;
}
}