首页 > 代码库 > 判断T2是否是T1的子树
判断T2是否是T1的子树
基本模仿CC150上的思路,递归地在t1中寻找能与t2的根相同的节点,作为开始比较的开始点,然后递归的比较两个树是否相等。
boolean containsTree(TreeNode t1, TreeNode t2){ if(t2==null) return true; return subTree(t1,t2);}boolean subTree(TreeNode t1, TreeNode t2){ if(t1==null) return false; if(t1.val ==t2.val){ if(matchTree(t1,t2)) return true; } return subTree(t1.left,t2)||subTree(t1.right,t2); }boolean matchTree(TreeNode t1, TreeNode t2){ if(t1==null&&t2==null) return true; if(t1==null||t2==null) return false; if(t1.val!=t2.val) return false; return matchTree(t1.left,t2.left)&&matchTree(t1.right,t2.right);}
判断T2是否是T1的子树
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。