📅  最后修改于: 2023-12-03 14:55:44.111000             🧑  作者: Mango
在树的相关问题中,有很多问题需要比较两棵树是否具有相同的结构。在本文中,我们将介绍如何检查两棵树是否具有相同的结构。
给定两棵二叉树,判断它们是否具有相同的结构,即对应的节点是否具有相同的子树。
我们可以通过递归来检查两棵树是否具有相同的结构。具体思路如下:
以下是实现该算法的 Python 代码片段:
def isSameTree(p, q):
if not p and not q:
return True
if not p or not q:
return False
if p.val != q.val:
return False
return isSameTree(p.left, q.left) and isSameTree(p.right, q.right)
以上代码中,我们首先判断两棵树是否为空或者只有一棵树为空,如果是,则它们的结构不同,返回 false。然后判断根节点的值是否相同,如果不同,则它们的结构不同,返回 false。最后,递归判断左子树和右子树是否相同,如果都相同,那么它们具有相同的结构,返回 true。
本文介绍了如何检查两棵树是否具有相同的结构,通过递归来判断它们是否具有相同的子树。这是树相关问题中非常常见的问题之一,理解该算法对于深入理解树的相关算法至关重要。