题目描述
blablabla
样例
blablabla
算法1
() O(n2)
blablabla
时间复杂度分析:blablabla
Python 代码
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def hasSubtree(self, pRoot1, pRoot2):
"""
:type pRoot1: TreeNode
:type pRoot2: TreeNode
:rtype: bool
"""
if not pRoot1 or not pRoot2:
return False
if self.isSame(pRoot1, pRoot2):
return True
return self.hasSubtree(pRoot1.left, pRoot2) or self.hasSubtree(pRoot1.right, pRoot2)
def isSame(self, r1, r2):
if not r2: # 出口很重要
return True
if not r1 or r1.val != r2.val:
return False
return self.isSame(r1.right, r2.right) and self.isSame(r1.left, r2.left)
我看了刚好1000阅读量