zoukankan      html  css  js  c++  java
  • 572.Subtree of Another Tree

    Given two non-empty binary trees s and t, check whether tree t has exactly the same structure and node values with a subtree of s. A subtree of s is a tree consists of a node in s and all of this node's descendants. The tree s could also be considered as a subtree of itself.

    Example 1:
    Given tree s:

         3
        / 
       4   5
      / 
     1   2
    

    Given tree t:

       4 
      / 
     1   2
    

    Return true, because t has the same structure and node values with a subtree of s.

    Example 2:
    Given tree s:

         3
        / 
       4   5
      / 
     1   2
        /
       0
    

    Given tree t:

       4
      / 
     1   2
    

    Return false.

    class Solution:
        def isSubtree(self, s, t):
            """
            :type s: TreeNode
            :type t: TreeNode
            :rtype: bool
            """
            def issame(a,b):
                if a is None and b is None:
                    return True
                if a is None or b is None:
                    return False
                if a.val!=b.val:
                    return False
                return issame(a.left,b.left) and issame(a.right,b.right)
            if s is None:
                return False
            if issame(s,t):
                return True
            return self.isSubtree(s.left,t) or self.isSubtree(s.right,t)
    
  • 相关阅读:
    2015 多校联赛 ——HDU5319(模拟)
    FZU 2158
    FZU 2157 树形DP
    dp之背包总结篇
    JavaScript parseInt() 函数
    JavaScript全局属性/函数
    学生面试心得
    ssh整合
    spring08事务
    JavaScript数组方法大全
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9769266.html
Copyright © 2011-2022 走看看