• 牛客(17)树的子结构


        //    题目描述
    //    输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
        public static class TreeNode {
            int val = 0;
            TreeNode left = null;
            TreeNode right = null;
    
            public TreeNode(int val) {
                this.val = val;
    
            }
        }
    
        public static boolean HasSubtree(TreeNode root1, TreeNode root2) {
            if (root1 == null || root2 == null) {
                return false;
            }
            boolean result = false;
    
    
            if (root1.val == root1.val) {
                result = equalsTree(root1, root2);
            }
            if (!result) {
                result = HasSubtree(root1.left, root2);
            }
            if (!result) {
                result = HasSubtree(root1.right, root2);
            }
            return result;
        }
    
        public static boolean equalsTree(TreeNode root1, TreeNode root2) {
            if (root2 == null) {
                return true;
            }
            if (root1 == null) {
                return false;
            }
            if (root1.val == root2.val) {
                return equalsTree(root1.right, root2.right) && equalsTree(root1.left, root2.left);
            }
            return false;
        }
  • 相关阅读:
    python 练习 10
    python 练习 9
    运算符
    变量类型
    打印更多的变量
    变量和命名
    数字和数字计算
    第一个程序
    python 练习 8
    python 练习 7
  • 原文地址:https://www.cnblogs.com/kaibing/p/9002528.html
Copyright © 2020-2023  润新知