AGGirl的专栏

记录学习

树的子结构

题目描述

输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
/**
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;
    public TreeNode(int val) {
     this.val = val;


    }


}
*/
public class Solution {
    public boolean HasSubtree(TreeNode root1,TreeNode root2) {
if(root1==null || root2==null)
           return false;
 return isSubtree(root1,root2) || HasSubtree(root1.left,root2)  ||  HasSubtree(root1.right,root2); 
     public 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);
else 
return fasle;

             
  }



        
    }



}
阅读更多
文章标签:
个人分类: 数据结构
上一篇AVL树的旋转
下一篇有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?
博主设置当前文章不允许评论。

没有更多推荐了,返回首页

关闭
关闭