相同的树
1、程序简介
- 给你两棵二叉树的根节点 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
提示:
- 两棵树上的节点数目都在范围 [0, 100] 内
-
−
1
0
4
<
=
N
o
d
e
.
v
a
l
<
=
1
0
4
-10^4 <= Node.val <= 10^4
−104<=Node.val<=104
2、程序代码
"""
Created on Tue Dec 7 12:44:27 2021
Function:
@author: 小梁aixj
"""
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==q:
return True
try:
left=right=True
if p.val==q.val:
left=self.isSameTree(p.left, q.left)
right=self.isSameTree(p.right, q.right)
return (left and right)
except:
return False
return False
s=Solution()
print(s.isSameTree(p=[1,2,3], q=[1,2,3]))
print(s.isSameTree(p=[1,2], q=[1,' ',2]))
print(s.isSameTree(p=[1,2,1], q=[1,1,3]))
3、运行结果