跳到主要内容

100-相同的树

leetcode :https://leetcode-cn.com/problems/same-tree/

参考解法:https://leetcode-cn.com/problems/same-tree/solution/100-xiang-tong-de-shu-by-xing-guang-29-rfuy/

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

方式1:【深度优先遍历(dfs),递归】

  • 深度优先遍历:从树的根节点开始,先遍历左子树,然后遍历右子树
js
var isSameTree = function(p, q) {
if (p == null && q == null) {
return true;
} else if (p == null || q == null) {
return false;
} else if (p.val != q.val) {
return false;
} else {
return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
}
};

方式2:广度优先遍历

  • 广度优先遍历:从根节点开始,沿着树的宽度依次遍历树的每个节点