zoukankan      html  css  js  c++  java
  • 剑指Offer(Java版)第二十二题:输入两棵二叉树A和B,判断B是不是A的子结构。

    /*
    输入两棵二叉树A和B,判断B是不是A的子结构。
    */
    //解题思路:
    //1)对A进行遍历,寻找B的根子节点
    //2)接着在A中寻找是否含有B的结构。
    public class Class22 {

    static class TreeNode{
    double val;
    TreeNode left = null;
    TreeNode right = null;
    public TreeNode(int val){
    this.val = val;
    }
    }

    public boolean hasSubTree(TreeNode tree1, TreeNode tree2){
    boolean result = false;
    if((tree1 == null) || (tree2 == null)){
    return false;
    }
    if((tree1 != null) && (tree2 != null)){
    if(tree1.val == tree2.val){
    result = doseTree1HasTree2(tree1,tree2);
    if(!result){
    result = hasSubTree(tree1.left,tree2) || hasSubTree(tree1.right,tree2);
    }
    }
    }
    return result;
    }

    public boolean doseTree1HasTree2(TreeNode tree1, TreeNode tree2){
    if(tree1 == null){
    return false;
    }
    if(tree2 == null){
    return true;
    }
    if(tree1.val == tree2.val){
    return true;
    }
    if(tree1.val != tree2.val){
    return false;
    }
    return doseTree1HasTree2(tree1.left,tree2.left) && doseTree1HasTree2(tree1.right,tree2.right);
    }

    public static void main(String[] args) {
    // TODO Auto-generated method stub

    }

    }

  • 相关阅读:
    jquery手写实现单页滚动导航
    小程序:商品分类,实现滑块视图
    微信小程序增加悬浮在线客服
    小程序 杂记
    自动售货机 扫描支付 原理
    HTTP的SSL 证书安装
    表达
    Linux 下svn恢复到某一版本
    倒车入库 技巧
    svn 杂记
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12465467.html
Copyright © 2011-2022 走看看