描述
给定两个二叉树,编写一个函数来检验它们是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例
分析
使用深度优先遍历 分析终止条件与返回值: 1.当两棵树的当前节点都为 null 时返回 true 2.当其中一个为 null 另一个不为 null 时返回 false 3.当两个都不为空但是值不相等时,返回 false
实现
class Solution {
public boolean isSameTree(TreeNode p
, TreeNode q
) {
if(p
== null
&& q
== null
)
return true;
if(p
== null
|| q
== null
)
return false;
if(p
.val
!= q
.val
)
return false;
return isSameTree(p
.left
, q
.left
) && isSameTree(p
.right
, q
.right
);
}
}