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.
题目很简单,判断是否是same tree。 same tree的定义是,两个树的有相同的结构和值,也就是左右子树以及每个节点的值都相同。 使用递归遍历,挨个比较即可。
# 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 == None and q == None :
return True
if p == None and q != None:
return False
if p!=None and q== None :
return False
if p and q and p.val == q.val :
return self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right)
return False