zoukankan      html  css  js  c++  java
  • 剑指offer:树的子结构

    题目描述:

    输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)

    思路:

    1、首先设置标志位result = false,因为一旦匹配成功result就设为true,
    剩下的代码不会执行,如果匹配不成功,默认返回false
    2、递归思想,如果根节点相同则递归调用DoesTree1HaveTree2(),
    如果根节点不相同,则判断tree1的左子树和tree2是否相同,
    再判断右子树和tree2是否相同
    3、注意null的条件,HasSubTree中,如果两棵树都不为空才进行判断,
    DoesTree1HasTree2中,如果Tree2为空,则说明第二棵树遍历完了,即匹配成功,
    tree1为空有两种情况(1)如果tree1为空&&tree2不为空说明不匹配,
    (2)如果tree1为空,tree2为空,说明匹配。

     1 public class TreeZijiegou {
     2     public boolean HasSubtree(TreeNode root1,TreeNode root2) {    
     3          boolean result = false;
     4        // if(root1 == null || root2 == null) result = false;
     5         if(root1!=null&&root2!=null){
     6             if(root1.val == root2.val){
     7                 result = Xiangdeng(root1, root2);
     8             }
     9             if(!result){
    10                 result = HasSubtree(root1.left, root2);
    11             }
    12             if(!result){
    13                 result = HasSubtree(root1.right, root2);
    14             }
    15         }
    16         return result;
    17     }    
    18     public boolean Xiangdeng(TreeNode root1,TreeNode root2){
    19         //boolean res = false;
    20         
    21         if(root2 == null) return  true;
    22         if(root1 == null) return  false;
    23         if(root1.val != root2.val) return  false;
    24         return Xiangdeng(root1.left, root2.left)&&Xiangdeng(root1.right, root2.right);
    25     }
    26     public static void main(String[] args) {
    27         // TODO Auto-generated method stub
    28 
    29     }
    30 
    31 }
  • 相关阅读:
    序列化器:serializers(django-rest-framework)
    数据库模型:models(Django)
    AtCoder Beginner Contest 213【A
    Codeforces Round #736 (Div. 2)【ABCD】
    AtCoder Beginner Contest 212【A
    Codeforces Round #732 (Div. 2)【ABCD】
    VS201X windows下编译提示缺少ucrtbased.dll文件
    Locust1.6 从入门到实战
    如何理解Windows认证流程
    HTB::Forest
  • 原文地址:https://www.cnblogs.com/zlz099/p/8649449.html
Copyright © 2011-2022 走看看