zoukankan      html  css  js  c++  java
  • 15.判断树的子结构

    输入两棵二叉树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 false;
            }
        }
    }

      

  • 相关阅读:
    hdu 5366 简单递推
    hdu 5365 判断正方形
    hdu 3635 并查集
    hdu 4497 数论
    hdu5419 Victor and Toys
    hdu5426 Rikka with Game
    poj2074 Line of Sight
    hdu5425 Rikka with Tree II
    hdu5424 Rikka with Graph II
    poj1009 Edge Detection
  • 原文地址:https://www.cnblogs.com/wzQingtTian/p/10662273.html
Copyright © 2011-2022 走看看