100. 相同的树
给你两颗二叉树的根节点 p和q, 编写一个函数来验证这两棵树是否相同。
如果两个数在结构上相同, 并且节点具有相同的值,则认为它们是相同的。
示例 1:
输入:p = [1,2,3], q = [1,2,3]
输出:true
示例 2:
输入:p = [1,2], q = [1,null,2]
输出:false
示例 3:
输入:p = [1,2,1], q = [1,1,2]
输出:false
解题:
使用递归
class Solution(object):
def isSameTree(self, p, q):
"""
:type p: TreeNode
:type q: TreeNode
:rtype: bool
"""
if not p and not q:
return True
if not p or not q:
return False
l = self.isSameTree(p.left, q.left)
r = self.isSameTree(p.right, q.right)
return p.val == q.val and l and r