100. 相同的树
题目
给你两棵二叉树的根节点 p
和 q
,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
分析
对于判断两棵树是否相同,递归p和q的每一个节点,判断其结构与值是否相等
终止条件p==null && q==null结构正确;p==null || q==null (上述条件去掉了同时为null)结构不正确;p.val!=q.val值不相同
同时递归左右子树,取和&
代码
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);
}
结果
时间超过100%
内存超过58.32%