Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value.
比较两个树是否相同,包括判断结构和节点的值,同样还是用到递归,加上了空节点的判断可以避免访问空指针。
# Definition for a binary tree node
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
# @param p, a tree node
# @param q, a tree node
# @return a boolean
def isSameTree(self, p, q):
if p is None and q is None:
return True
elif p is None or q is None:
return False
else:
if p.val == q.val:
if self.isSameTree(q.left,p.left):
return self.isSameTree(p.right,q.right)
return False