【JS每日一算法】🟩94.相同的树(深度优先)

286 阅读1分钟

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

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

提示:

  • 两棵树上的节点数目都在范围 [0, 100] 内
  • -104 <= Node.val <= 104

示例 1:

ex1.jpg

输入: p = [1,2,3], q = [1,2,3]
输出: true

示例 2:

ex2.jpg

输入: p = [1,2], q = [1,null,2]
输出: false

题解:

更多JS版本题解点击链接关注该仓库👀个人博客

/**
 * @description: 深度优先  TC:O(n)  SC:O(n)
 * @author: JunLiangWang
 * @param {*} p  给定树头节点
 * @param {*} q  给定树头节点
 * @return {*}
 */                 
function dfs(p,q){
    /**
     * 该方案采用深度优先的方式
     */
    if(q==null&&p==null)return true
    else if(q==null||p==null)return false
    else if(q.val!=p.val)return false
    else return dfs(q.left,p.left)&&dfs(q.right,p.right)
}

来源:力扣(LeetCode)