「力扣」第 100 题:相同的树(简单)
中文网址:100. 相同的树 ;
英文网址:100. Same Tree ,
给定两个二叉树,编写一个函数来检验它们是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 1:
输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] 输出: true
示例 2:
输入: 1 1 / \ 2 2 [1,2], [1,null,2] 输出: false
示例 3:
输入: 1 1 / \ / \ 2 1 1 2 [1,2,1], [1,1,2] 输出: false
分析:判断两棵二叉树是否一样。这是典型的使用递归解决的问题。
Python 代码:
class TreeNode(object):
def __init__(self, x):
self.val = x
self.left = None
self.right = None
class Solution(object):
def isSameTree(self, p, q):
if p is None and q is None:
return True
if p is None:
return False
if q is None:
return False
return p.val == q.val and self.isSameTree(
p.left, q.left) and self.isSameTree(p.right, q.right)