题目:输入两棵二叉树A和B,判断B是不是A的子结构。

剑指面试26-数的子结构

# -*- 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
        return self.is_subtree(pRoot1, pRoot2) or self.HasSubtree(pRoot1.left, pRoot2) or self.HasSubtree(pRoot1.right, pRoot2)
      
    def is_subtree(self, A, B):
        if not B:
            return True
        if not A or A.val != B.val:
            return False
        return self.is_subtree(A.left,B.left) and self.is_subtree(A.right, B.right)

相关文章:

  • 2021-08-16
  • 2022-12-23
  • 2022-12-23
  • 2021-07-18
  • 2021-12-09
  • 2021-11-03
  • 2021-11-03
猜你喜欢
  • 2021-08-23
  • 2022-02-19
  • 2021-10-24
  • 2021-12-04
  • 2021-08-15
相关资源
相似解决方案