📅  最后修改于: 2023-12-03 15:42:18.058000             🧑  作者: Mango
该问题主要考察数据结构和算法的知识。题目要求实现一个函数用于判断两个二叉树是否相等。以下是该问题的解决方案。
判断两个二叉树是否相等可以通过递归方法实现,具体步骤如下:
以下是 Python 代码实现:
class TreeNode:
def __init__(self, val=None, 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
elif not p or not q:
return False
elif p.val != q.val:
return False
else:
return is_same_tree(p.left, q.left) and is_same_tree(p.right, q.right)
该算法通过递归方法实现,时间复杂度为 O(N),其中 N 是树的节点数。空间复杂度取决于递归栈的深度,最坏情况下为 O(N)。