zoukankan      html  css  js  c++  java
  • 572. 另一个树的子树

    给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。

    示例 1:
    给定的树 s:

    3
    /
    4 5
    /
    1 2
    给定的树 t:

    4
    /
    1 2
    返回 true,因为 t 与 s 的一个子树拥有相同的结构和节点值。

    示例 2:
    给定的树 s:

    3
    /
    4 5
    /
    1 2
    /
    0
    给定的树 t:

    4
    /
    1 2
    返回 false。

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/subtree-of-another-tree
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, val=0, left=None, right=None):
    #         self.val = val
    #         self.left = left
    #         self.right = right
    class Solution:
        def isSubtree(self, s: TreeNode, t: TreeNode) -> bool:
            def isIdentical(s,t):
                if not s and not t:return True
                return s and t and s.val==t.val
                         and isIdentical(s.left,t.left) and isIdentical(s.right,t.right)
            if not s and not t:return True
            if not s and t:return False
            return isIdentical(s,t) or self.isSubtree(s.left,t) or self.isSubtree(s.right,t)
  • 相关阅读:
    微信开发-Jssdk调用分享实例
    软件工程
    Homework_4 四则运算
    Homework 3
    每周总结
    自动生成四则运算题目
    Homework 1 -- The beginning
    程序员视角的餐饮行业
    iOS9网络适配_ATS:改用更安全的HTTPS
    Xcode的 发展史
  • 原文地址:https://www.cnblogs.com/xxxsans/p/14040299.html
Copyright © 2011-2022 走看看