首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2个二叉树是否相等

2个二叉树是否相等,可以通过递归的方式进行比较。首先比较两个二叉树的根节点,如果根节点不相等,则两个二叉树不相等;如果根节点相等,则比较两个二叉树的左子树和右子树是否相等。如果左子树和右子树都相等,则两个二叉树相等;否则两个二叉树不相等。

以下是一个Python实现的示例代码:

代码语言:python
代码运行次数:0
复制
class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right

def is_same_tree(p: TreeNode, q: TreeNode) -> bool:
    if not p and not q:
        return True
    if not p or not q:
        return False
    if p.val != q.val:
        return False
    return is_same_tree(p.left, q.left) and is_same_tree(p.right, q.right)

在这个示例代码中,我们定义了一个TreeNode类来表示二叉树的节点,其中包含节点的值、左子树和右子树。is_same_tree函数接受两个二叉树的根节点pq,并返回一个布尔值表示两个二叉树是否相等。

在函数中,我们首先判断两个二叉树是否都为空,如果是,则返回True;如果只有一个为空,则返回False。然后比较两个二叉树的根节点的值是否相等,如果不相等,则返回False。最后,递归比较两个二叉树的左子树和右子树是否相等,如果都相等,则返回True;否则返回False。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

6分30秒

079.slices库判断切片相等Equal

6分33秒

088.sync.Map的比较相关方法

11分7秒

091.go的maps库

9分16秒

056.errors.Is函数

领券