树的子结构

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

public class Solution {
    
    public boolean HasSubtree(TreeNode root1, TreeNode root2) {
        
        boolean result = false;
        if(root1 != null && root2 != null) {
            
            if(root1.val == root2.val) {
                
                result = judge(root1, root2);
            }
            if(!result) {
                
                result = HasSubtree(root1.left, root2);
            }
            if(!result) {
                
                result = HasSubtree(root1.right, root2);
            }
        }
        return result;
    }
    private boolean judge(TreeNode root1, TreeNode root2) {
        
        if(root2 == null)
            return true;
        if(root1 == null)
            return false;
        if(root1.val != root2.val)
            return false;
        return judge(root1.left, root2.left) && judge(root1.right, root2.right);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 前面曾经做过根据中序和...
    鸿雁长飞光不度阅读 853评论 5 3
  • 树的子结构 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) ...
    echoVic阅读 607评论 0 1
  • 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 代码实现 主...
    _minimal阅读 2,121评论 0 0
  • 题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 测试代码 /*...
    quiterr阅读 157评论 0 0
  • 曾答应过儿子这次病好后去吃一次肯德基,昨日与儿约定好,今天晚上去吃。与儿一路走向肯德基的途中,儿说,自己的...
    大爱无疆杨青阅读 332评论 1 6