python剑指offer 实现树的子结构
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python剑指offer 实现树的子结构相关的知识,希望对你有一定的参考价值。
题目描述
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
# -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def HasSubtree(self, pRoot1, pRoot2): # write code here if not pRoot1 or not pRoot2: return False if pRoot1.val == pRoot2.val: return self.DoesTree1HaveTrees(pRoot1,pRoot2) return self.HasSubtree(pRoot1.left, pRoot2) or self.HasSubtree(pRoot1.right, pRoot2) def DoesTree1HaveTrees(self,pRoot1,pRoot2): if not pRoot2: return True if not pRoot1 or pRoot1.val == pRoot1.val: return False return self.DoesTree1HaveTrees(pRoot1.left,pRoot2.left) and self.DoesTree1HaveTrees(pRoot1.right,pRoot2.right)
以上是关于python剑指offer 实现树的子结构的主要内容,如果未能解决你的问题,请参考以下文章