题解 | 树的子结构
树的子结构
https://www.nowcoder.com/practice/6e196c44c7004d15b1610b9afca8bd88
from types import SimpleNamespace
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param pRoot1 TreeNode类
# @param pRoot2 TreeNode类
# @return bool布尔型
#
class Solution:
def HasSubtree(self , pRoot1: TreeNode, pRoot2: TreeNode) -> bool:
def issame(i,j):
if not j :
return True
if not i or i.val != j.val:
return False
return issame(i.left,j.left) and issame(i.right,j.right)
def dfs(i,j):
if not i or not j :
return False
return issame(i,j) or dfs(i.left,j) or dfs(i.right,j)
return dfs(pRoot1,pRoot2)

