LeetCode 572题详解 | 子树判断的递归实现

news/2025/3/10 20:20:12/

题目如下:

在这里插入图片描述

解题过程如下:

在这里插入图片描述
若根结点为空,return false(为什么要写根结点为空的情况呢?递归中会对根结点进行解引用)

若这两棵二叉树相同——相同的树,return true

递归,若根结点的左子树中包含二叉树subRoot或根结点的右子树中包含二叉树subRoot,return true

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/
bool isSameTree(struct TreeNode* p, struct TreeNode* 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);
}
bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot) {if (root == NULL){return false;}if (isSameTree(root, subRoot)){return true;}return isSubtree(root->left, subRoot) || isSubtree(root->right, subRoot);
}

http://www.ppmy.cn/news/1578168.html

相关文章

Java后端高频面经——JVM、Linux、Git、Docker

JVM内存模型是什么?(B站)JVM内存模型中的堆和栈的区别? (1)JVM的内存模型 JVM 运行时内存共分为虚拟机栈、本地方法栈、堆、元空间(方法区)、程序计数器五个部分。还有一部分内存叫直…

MySQL环境搭建和基本操作

前言 MySQL是现在最为流行的数据库,而且是开源的,任何人都可以在Internet下载,进行安装。 MySQL环境搭建 一、软件包安装 MySQL是目前最为流行的开放源码的数据库,是完全网络化的跨平台的关系型数据库系统,它是由瑞典MySQLAB公司…

【机器人栅格地图】基于鹭鹰算法SBOA实现机器人栅格地图路径规划(目标函数:最短距离)附Matlab代码

基于鹭鹰算法(SBOA)的机器人栅格地图路径规划实现 一、鹭鹰算法(SBOA)的基本原理 鹭鹰优化算法(Secretary Bird Optimization Algorithm, SBOA)是一种新型元启发式算法,灵感源自鹭鹰的捕猎和逃…

Spring MVC源码分析のinit流程

文章目录 前言一、 init1.1、createWebApplicationContext1.2、onRefresh 二、请求处理器2.1、RequestMapping2.2、Controller接口2.3、HttpRequestHandler接口2.4、HandlerFunction 三、initHandlerMappings3.1、getDefaultStrategies3.1.1、RequestMappingHandlerMapping3.1.…

TypeError: Cannot convert object to primitive value

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…

如何让一个类作为可调用对象被thread调用?

如何让一个类作为可调用对象,被 std::thread 调用 在 C 中,可以让一个类对象作为可调用对象(Callable Object),然后用 std::thread 进行调用。要实现这一点,主要有三种方法: 重载 operator()&…

7. 机器人记录数据集(具身智能机器人套件)

1. 树莓派启动机器人 conda activate lerobotpython lerobot/scripts/control_robot.py \--robot.typelekiwi \--control.typeremote_robot2. huggingface平台配置 huggingface官网 注册登录申请token(要有写权限)安装客户端 # 安装 pip install -U …

【每日学点HarmonyOS Next知识】对话框回调问题、输入区域最大行数、web自定义节点、icon图标库、软键盘开关

1、HarmonyOS 使用promptAction.openCustomDialog(contentNode);无法触发onWillDismiss回调? 使用promptAction.openCustomDialog(contentNode);无法触发onWillDismiss回调 当用户执行点击遮障层关闭、左滑/右滑、三键back、键盘ESC关闭交互操作时,如果…