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%
本文解析了如何使用递归方法判断两棵二叉树是否相同,讨论了代码实现中可能导致的时间和内存问题,并提供了优化建议。通过实例展示了如何解决超过100%时间和58.32%内存的问题。

被折叠的 条评论
为什么被折叠?



