题目
给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的
思路
同时遍历两棵树
按照相同的顺序
前序遍历实质
如果当前节点都一样的话,就继续递左右子树
代码
var isSameTree = function(p, q) {
function dfs(p,q){
//base case
if(p === null && q === null)return true;
// p是空 或者 q是空 或者 两者都空,但是两者都空在上一个判断时就return了
if(p === null || q === null)return false;
if(p.val !== q.val) return false;
//值相等的话,还要看子树是否相等
let left = dfs(p.left,q.left);
let right = dfs(p.right,q.right);
//返回
return (left && right);
}
return dfs(p,q);
};