首页 > 其他分享 >LeetCode:100.相同的树

LeetCode:100.相同的树

时间:2025-01-16 16:12:22浏览次数:1  
标签:right return val 相同 && 100 null LeetCode left

LeetCode:100.相同的树

两个树:根节点的值相同,左子树相同,右子树相同。符合“分、解、合”特性。考虑选择分而治之。

分:获取两个树的左子树和右子树。解:递归地判断两个树的左子树是否相同,右子树是否相同。合:将上述结果合并,如果根节点的值也相同,树就相同。

/**
 * Definition for a binary tree node.
 * function TreeNode(val, left, right) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.left = (left===undefined ? null : left)
 *     this.right = (right===undefined ? null : right)
 * }
 */
/**
 * @param {TreeNode} p
 * @param {TreeNode} q
 * @return {boolean}
 */
var isSameTree = function(p, q) {
    if(p===null&&q!==null){
        return false
    }
    if(p!==null&&q===null){
        return false
    }
    if(p===null&&q===null){
        return true
    }else{
        return p.val===q.val&&isSameTree(p.left,q.left) && isSameTree(p.right,q.right)
    }
    return isSameTree(p,q)
};
/**
 * Definition for a binary tree node.
 * function TreeNode(val, left, right) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.left = (left===undefined ? null : left)
 *     this.right = (right===undefined ? null : right)
 * }
 */
/**
 * @param {TreeNode} p
 * @param {TreeNode} q
 * @return {boolean}
 */
var isSameTree = function(p, q) {
    if(!p&&!q)return true;
    if(p&&q&&q.val===p.val&&isSameTree(p.left,q.left)&&isSameTree(p.right,q.right)){
     return true;
    }
    return false;
 };

'

标签:right,return,val,相同,&&,100,null,LeetCode,left
From: https://www.cnblogs.com/KooTeam/p/18675180

相关文章

  • 【LeetCode 刷题】数组-模拟-螺旋矩阵
    此博客为《代码随想录》数组章节的学习笔记,主要内容为数组模拟的相关题目解析。文章目录59.螺旋矩阵II54.螺旋矩阵59.螺旋矩阵II题目链接classSolution:defgenerateMatrix(self,n:int)->List[List[int]]:l,r,t,b=0,n-1,0,n-......
  • 【LeetCode 刷题】数组-滑动窗口
    此博客为《代码随想录》数组章节的学习笔记,主要内容为滑动窗口知识点的相关题目解析。文章目录209.长度最小的子数组904.水果成篮76.最小覆盖子串209.长度最小的子数组题目链接classSolution:defminSubArrayLen(self,target:int,nums:List[int])->......
  • LeetCode 1773. 统计匹配检索规则的物品数量
    在这个问题中,我们被要求统计一个物品数组中满足特定检索规则的物品数量。每个物品由其类型、颜色和名称定义,而检索规则由规则键和规则值指定。我们的任务是找出数组中满足这些规则的物品数量。问题描述解题思路定义索引映射:首先,我们需要定义一个映射,将规则键("type"、"color......
  • LeetCode字符串
    LeetCode字符串LeetCode字符串刷题记录基础知识字符串和数组很相似每个元素的数据类型相同都可以通过下标索引访问字符串比大小从第0个位置开始,依次比较对应位置上的字符编码大小defcompare(str1,str2):i=0j=0whilei<len(str1)andj<len(s......
  • LeetCode题练习与总结:省份数量--547
    一、题目描述有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。给你一个 nxn 的矩阵 isConnected ,其......
  • LeetCode题练习与总结:游戏玩法分析 Ⅳ -- 550
    一、题目描述SQLSchema> PandasSchema> Table: Activity+--------------+---------+|ColumnName|Type|+--------------+---------+|player_id|int||device_id|int||event_date|date||games_played|int|+----......
  • LeetCode题练习与总结:移除盒子--546
    一、题目描述给出一些不同颜色的盒子 boxes ,盒子的颜色由不同的正数表示。你将经过若干轮操作去去掉盒子,直到所有的盒子都去掉为止。每一轮你可以移除具有相同颜色的连续 k 个盒子(k >=1),这样一轮之后你将得到 k*k 个积分。返回 你能获得的最大积分和 。示例1:......
  • LeetCode:21.合并两个有序链表
    LeetCode:21.合并两个有序链表解题思路与归并排序中的合并两个有序数组很相似。将数组替换成链表就能解此题。解题步骤新建一个新链表,作为返回结果。用指针遍历两个有序链表,并比较两个链表的当前节点,较小者先接入新链表,并将指针后移一步。链表遍历结束,返回新链表。/***Defini......
  • 210. 课程表 II【 力扣(LeetCode) 】
    文章目录零、原题链接一、题目描述二、测试用例三、解题思路四、参考代码零、原题链接210.课程表II一、题目描述  现在你总共有numCourses门课需要选,记为0到numCourses-1。给你一个数组prerequisites,其中prerequisites[i]=[ai,bi],表示在选修课......
  • 云服务器 CPU 占用率 100% 的原因和解决办法
    当云服务器的CPU占用率达到100%时,不仅会导致运行在服务器上的应用程序响应缓慢,还可能造成远程无法登录,甚至导致服务器宕机。以下是几种常见的原因及其解决办法:1.被入侵或成为肉鸡原因: 服务器可能被黑客入侵,成为肉鸡用于对外扫描或发送数据包,从而导致CPU占用率异常升高。......