Python——树、二叉树相关练习题
1.一棵树是否为另一颗树的子树
问题描述:
有两个大小不同的二叉树,T1和T2,设计一种算法来判定T2是否为T1的子树。
问题示例:
例子中的T2是T1的子树,返回True,如果不是就返回Flase,图中的T2就是T1的子树。
代码:
#定义树的结构,左右置空
class TreeNode:
def __init__(self,val):
self.val = val
self.left,self.right = None,None
#T1,T2为二叉树的根节点,返回值为布尔值,如果T2是T1的字数就返回True,反之为False
class Solution:
def get(self,root,rt):
if root is None:
rt.append('#')
return
rt.append(str(root.val))
self.get(root.left,rt)
self.get(root.right,rt)
def isSubtree(self,T1,T2):
rt =