• LeetCode


    链接

    572. Subtree of Another Tree

    题意

    树的子树
    给定两颗非空树s和t,判断t是否为s的子树。
    s也可视为自己的子树

    思路

    另写一个判断两棵树是否完全相同的方法。递归遍历s的每个结点,与t调用这个方法进行比较即可。

    代码

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    public class Solution {
        boolean isSubtree = false;
        public boolean isSubtree(TreeNode s, TreeNode t) {
            if (s == null) return false;
            if (s.val == t.val && isSameTree(s, t)) isSubtree = true;
            isSubtree(s.left, t);
            isSubtree(s.right, t);
            return isSubtree;
        }
        
        // 展开之后就是判断每个对应的结点值是否相等
        public static boolean isSameTree(TreeNode s, TreeNode t) {
            return (s == null || t == null) ? (s == t) : (s.val == t.val) && isSameTree(s.left, t.left) && isSameTree(s.right, t.right);
        }
    }
    
  • 相关阅读:
    zookeeper历史版本下载
    RabbitMq集群搭建
    spring boot rabbitmq整合rabbitmq之消息持久化存储
    跨域
    Spring注入(IOC):
    AOP
    jsp自定义标签
    配置文件要注意的项
    线程
    URL转码
  • 原文地址:https://www.cnblogs.com/zyoung/p/6950068.html
Copyright © 2020-2023  润新知