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
原文地址:http://blog.csdn.net/monkeyduck/article/details/37995813