• 判断二叉树B是否是二叉树A的一部分


    public class 判断B树是否是A树的子树
    {
        // 递归 判断其是否为子树
        public boolean HasSubtree(TreeNode root1, TreeNode root2)
        {
            // 若root2为null则直接返回false
            boolean res = false;
            if (root1 != null && root2 != null)
            {
                // 判断第一个相同的结点 然后递归进行比较
                if (root1.val == root2.val)
                {
                    res = isTree1HasTree2(root1, root2);
                }
                // 否则进行root1.left 为新的root1
                if (!res)
                {
                    res = HasSubtree(root1.left, root2);
                }
                // 否则进行root1.left 为新的root1
                if (!res)
                {
                    res = HasSubtree(root1.right, root2);
                }
            }
            return res;
        }

        private boolean isTree1HasTree2(TreeNode root1, TreeNode root2)
        {
            // root2还有结点而root1没有结点了
            if (root1 == null && root2 != null)
            {
                return false;
            }
            // root2最后都没有结点
            if (root2 == null)
            {
                return true;
            }
            // 值不等
            if (root1.val != root2.val)
            {
                return false;
            }
            return isTree1HasTree2(root1.left, root2.left)
                    && isTree1HasTree2(root1.right, root2.right);
        }

    }

  • 相关阅读:
    JQUERY 字符串转数字
    jq、js 获取上级、同级、下级元素
    jQuery遍历Table tr td td中包含标签
    PLSQL Developer 13.0.0.1883 注册码
    [转]关于ORA-00979 不是 GROUP BY 表达式错误的解释
    ORACLE主键ID的生成
    关于oracle with as用法
    SQL高级查询之分组查询
    Oracle关于分组小计再合计
    GROUP BY中ROLLUP/CUBE/GROUPING/GROUPING SETS使用示例
  • 原文地址:https://www.cnblogs.com/qingtianBKY/p/7083003.html
Copyright © 2020-2023  润新知