100. Same Tree

2023-11-08

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */

class Solution {
public:
    bool isSameTree(TreeNode* p, TreeNode* q) {
        bool bisSame = true;
        isSame(p, q, bisSame);
        
        return bisSame;
    }
    
    
    void isSame(TreeNode* p, TreeNode* q, bool &bisSame)
    {
        if(bisSame == false)
        {
            return ;
        }

        if(p == nullptr && q == nullptr)
        {
            return;
        }
        else if(p == nullptr || q == nullptr)
        {
            bisSame = false;
            return;
        }
        if(p->val != q->val)
        {
            bisSame = false;
            return;
        }
        if(p->right == nullptr && q->right == nullptr && p->left == nullptr && q->left == nullptr)
        {
            return;
        }
        else if(p->right == nullptr && q->right == nullptr && p->left != nullptr && q->left != nullptr)
        {
            isSame(p->left, q->left, bisSame);
        }
        else if(p->right != nullptr && q->right != nullptr && p->left == nullptr && q->left == nullptr)
        {
            isSame(p->right, q->right, bisSame);
        }
        else if(p->right != nullptr && q->right != nullptr && p->left != nullptr && q->left != nullptr)
        {
            isSame(p->right, q->right, bisSame);    
            isSame(p->left, q->left, bisSame);
        }
        else
        {
            bisSame = false;
            return;   
        }
    }
};
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

100. Same Tree 的相关文章

  • ROS中多个工作空间同时工作

    ROS开发中 有时需要建多个工作空间 将不同的功能包区别开来 但是 多个工作空间会存在相互影响的情况 如何让它们能同时工作且相互不影响 需要技巧 这里需要清楚ROS工作空间的工作原理 本文做个详细介绍 1 ROS PACKAGE PATH环
  • 汽配企业如何把MES管理系统的价值利用到最大化

    随着信息技术的快速发展 越来越多的汽配企业开始引入MES生产管理系统 以提高生产效率 优化资源利用和提升产品质量 然而 要想实现MES系统的最大化价值 汽配企业需要从以下几个方面入手 首先 汽配企业应该充分了解MES系统的功能和特点 并根据

随机推荐

  • git笔记

    git笔记 第一次使用配置 git config global user email you example com git config global user name Your Name 生成ssh key ssh keygen t
  • Matplotlib Intermediate Styling with cycler

    Styling with cycler 自定义属性循环设置的演示以控制多个 line 的图的颜色和其他样式属性 这个例子演示了两种不同的 API 设置 rc 参数 指定默认属性循环 这会影响所有随后的 axes 不会影响已经创建的 axes
  • 论文笔记:Learning Transferable Visual Models From Natural Language Supervision(CLIP)

    1 Intro 目前最先进的CV模型 大部分是现有一个定义好的类别的集合 然后模型通过预测这些提前定义好的类别 从而完成模型的训练 这些提前定义好的类别会大大简化问题本身 但采用了这种有限制性的监督信号 也大大限制了模型的泛化性 尤其是识别
  • 详解Python的切片(Slice)

    先看例子 array 0 1 2 3 4 5 print array print array 1 print array 2 print array 4 1 print array 4 5 print array 10 3 结果是 0 1
  • Ubuntu 12.04 搭建Android开发环境

    Ubuntu 12 04 搭建Android开发环境 2013 7 29 Linux环境下搭建Android开发环境 大部分开发人员可能都在Windows下做开发 可能是感觉在Windows下比较方便 我感觉也是 不过作为一名开发者仅局限在
  • R语言内置颜色色板+生成代码

    R语言内置颜色参照色板 日常使用中 想用一些R语言内置颜色 网上始终没有找到相对齐全的内置色板 于是自己写了一个 R语言内置颜色总共657种 文中代码共生成560种颜色 去掉了部分Grey渐变色 代码如下 RColors 568 col l
  • spring文件上传大小限制,Springboot大于一1G文件上传

    前言 一 SpringMVC简介 1 1 SpringMVC引言 为了使Spring有可插入的MVC架构 SpringFrameWork在Spring基础上开发SpringMVC框架 从而在使用Spring进行WEB开发时可以选择使用Spr
  • 宋浩线性代数笔记(六)二次型

    本章的内容比较少且均通俗易懂 较第三章和第五章容易许多 之后还有针对于数学一的第7更 数二数三的选手已经可以完结撒花
  • Dagger2 设计模式之构建者模式

    Dagger 中的设计模式分析 Builder 模式 DaggerFatherComponent 对象的构建 Dagger 中对 DaggerFatherComponent 对象的构建可以拆分成三部分 一 构建使用 Inject 注解构造函
  • ARMV8体系结构简介:AArch64应用级体系结构之Atomicity

    1 前言 Atomicity是内存访问的一个属性 描述为原子性访问 包括single copy atomicity和multi copy atomicity 2 基本概念 observer 可以发起对memory read write访问的
  • 经典机器学习算法之SVM算法

    本篇文章旨在让完全不懂的小伙伴对该算法有一个初步认识与理解 只适用于小白 如果想深入了解 可以参考本文的参考文章 文章目录 一 算法介绍 1 SVM简介 2 支持向量 二 算法分析 1 线性可分情况 线性可分的理解 找到最优的超平面 2 线
  • 【第四阶段】kotlin语言中的数组类型

    1 kotlin语言中的数组类型 类型 定义 IntArray intArrayOf DoubleArray doubleArrayOf LongArray longArrayOf ShortArray shortArrayOf ByteA
  • 模拟实现内存动态分区分配与回收(完整代码)

    memory类 package memory import java util LinkedList import java util Scanner public class memory private int size 内存大小 pr
  • vscode开发python项目使用flake8、yapf工具格式化pip8编码规范

    前言 使用flake8 yapf工具工具去格式化py文件 有助于生成满足pep8规范 使用快捷键即可完成 提高开发效率 安装配置 1 win10下安装flake8 yapf pip install flake8 pip install ya
  • python 实现批量抠图

    系统 windows10 语言 python 3 6 编辑器 pycharm 安装库 1 paddlepaddle python m pip install paddlepaddle i https mirror baidu com pyp
  • ES Module 和 Commonjs 的区别

    只有静态引入 tree shaking才能够知道哪些引入哪些不引入 动态引入 要引入的代码都没有执行 所以不会引入 所以tree shaking不知道哪些引入哪些不引入
  • 只利用 phpstudy 如何运行PHP文件 超详细教程

    1 先编写好PHP代码 我这里用记事本简单写了一个 2 打开phpstudy 检查下有没有下载PHP环境 启动Apache 3 把编写好的PHP文件复制到phpstudy目录下的www文件中 注 phpstudy可以通过 网站 管理 打开根
  • Vue常见简写 “:“ , “@“ , “#“ :帮助刚入行的伙伴快速看懂代码

    提示 本文仅仅是对Vue中比较常见的简写进行总结 适合刚入行有时看不懂代码的朋友 目录 文章目录 前言 一 是什么 1 是什么意思 2 怎么使用 二 是什么 1 是什么意思 2 怎么使用 三 是什么 1 是什么意思 2 怎么使用 总结 前言
  • JDBC 学习笔记(基础)

    示意图 目录 创建 JDBC 应用 例子 通过本地协议纯 Java 驱动程序实现JDBC 代码具体步骤 1 注册驱动 2 建立与数据库的连接 3 获取执行SQL语句的对象 Statement 4 定义执行 SQL 语句 5 操作结果集对象
  • 100. Same Tree

    Definition for a binary tree node struct TreeNode int val TreeNode left TreeNode right TreeNode int x val x left NULL ri