力扣面试150(57/100)
8.16 100. 相同的树
给你两棵二叉树的根节点 p
和 q
,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
我的思路:
递归遍历+判断val值
我的代码:
var isSameTree = function(p, 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)
};
总结:这个递归函数通过比较两棵二叉树的节点值和左右子树来判断它们是否相同。如果两个节点都为空,返回true;如果一个为空另一个不为空,返回false;如果节点值不同,返回false;否则递归检查左右子树。只有所有对应节点都满足相同条件,才返回true。