Leetcode 100. Same Tree

2023-05-16

分析

这道题算是一道关于树的简单题,我们需要判断给出的两棵树是否相等,分为三步,判断当前节点是否相等,判断左右子树是否相等。要特别注意一下为NULL的情况

我的代码

/**
 * 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) {

        if(p == NULL)   //p为NULL
        {
            if(q == NULL) return true;
            else if(q != NULL) return false;
        }

        if(q == NULL)   //q为NULL
        {
            if(p == NULL) return true;
            else if(p != NULL) return false;
        }

        if(q != NULL && p != NULL)  //p,q都不为NULL
        {
            if(q->val != p ->val) return false;
            if(!isSameTree(p->left,q->left)) return false;
            if(!isSameTree(p->right,q->right)) return false;
        }

        return true;

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

Leetcode 100. Same Tree 的相关文章

  • 基本树概念:定义祖先

    祖先的定义是什么 更具体地说 E 会是 H 的祖先吗 或者更简单地说 F C A 是 H 的祖先 也许甚至是G 我只是想澄清这个简单的概念 E 不是 H 的祖先 它是uncle因为它是一个siblingF 的parent of H F C
  • 创建二叉树的时间复杂度

    我正在尝试从提供的源创建一棵树 要添加到树中的 2 个节点 以及应添加这 2 个新闻节点的节点 为了找到该节点在树中的位置 我使用了中序遍历 该遍历的时间复杂度为 O n 因此 如果要在树中添加 n 个节点 则创建整个树的时间复杂度为 O
  • C 有没有做字符串加法的工具?

    我正在创建一个函数 该函数返回函数的导数 该函数表示为树形结构 x 5 3 14 x 具有以下形式的节点 typedef struct node char fx function struct node gx left hand side
  • 重新创建一棵扁平的树

    我有一个地图向量 我想以嵌套方式对其进行转换 数据结构如下 def data id 1 name a parent 0 id 2 name b parent 0 id 3 name c parent 0 id 4 name a 1 pare
  • 如何递归探索Python嵌套字典? [复制]

    这个问题在这里已经有答案了 我很好奇是否有一种方法可以在 python 中递归地探索嵌套字典 我的意思是 假设我们有一个如下示例 d a b c 1 2 3 获取最里面字典的内容需要什么代码 c 1 2 3 遍历a and b 在这种情况下
  • 寻找成熟的 M-Tree 实现 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个成熟的 java M Tree 实现 甚至任何 M Tree 实现 除了我找到的唯一实现 http en wikipedia
  • Tic-Tac-Toe AI:如何制作树?

    在制作井字游戏机器人时 我在尝试理解 树 时遇到了巨大的障碍 我理解这个概念 但我不知道如何实现它们 有人可以向我展示一个如何为这种情况生成树的示例吗 或者关于生成树的好教程 我想最困难的部分是生成部分树 我知道如何实现生成整棵树 但不知道
  • 使用霍夫曼代码压缩文件的步骤

    我知道有很多涉及霍夫曼代码的问题 包括我自己的另一个问题 但我想知道实际编码文本文件的最佳方法是什么 减压看似微不足道 遍历树 在 0 处向左 在 1 处向右 打印字符 但是 如何进行压缩呢 以某种方式将字符的位表示存储在树的节点中 每次遇
  • 如何修复 STL 样式容器以容纳不完整或抽象类型?

    几天前 我尝试以与 STL 容器相同的风格编写一个基本的树实现 现在我尝试在我的代码中使用它 但是有两件事似乎不起作用 但可以说std vector 即 使用不完整类型和使用抽象类型 如何修复我的树实现以获得此功能 我尝试稍微压缩一下我的代
  • 如何使用KDTrees实现最近邻搜索?

    所以 我正在实施一个KD Tree http en wikipedia org wiki Kd tree进行最近邻搜索 我已经构建了树部分 但我认为我没有完全理解搜索部分 关于遍历树来搜索邻居 维基百科文章如下 Starting with
  • 从 XML 构建树结构的速度很慢

    我正在将 XML 文档解析为我自己的结构 但对于大型输入来说构建它非常慢 是否有更好的方法来做到这一点 public static DomTree
  • 如何在 R 中将字符串解析为层次结构或树

    有没有办法将表示组的字符串解析为 R 中的层次结构 假设我的小组结构如下 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 3 1 1 3 1 1 1 3 2 1 1 3 3 1 2 1 2 1 1 2 1 1 1 2 1 2 1
  • 使用 Java 进行树可视化 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个库来生成图形或树 例如组织图表 该库应该能够从该图中生成纯图像 有谁知道一个好的 希望开源
  • 如何从 Trie 中检索给定长度的随机单词

    我有一个简单的 Trie 用来存储大约 80k 长度为 2 15 的单词 它非常适合检查字符串是否是单词 但是 现在我需要一种获取给定长度的随机单词的方法 换句话说 我需要 getRandomWord 5 来返回 5 个字母的单词 所有 5
  • 算法 - 树中所有节点的最大距离

    所以 找到树中两个节点之间的最长路径相当容易 但我想要的是找到从节点出发的最长路径x到树中的另一个节点 对于所有x 这个问题也可以用以下方式表达 计算从给定的树中可以生成的所有有根树的高度 One way of course is to j
  • 如何从邻接列表构建嵌套树结构?

    考虑到我有 名为的相邻键 子级 父级 列表A 一个名为Tree存储自己的节点键 整数 和子节点 类 A 61 66 50 61 68 61 33 61 57 66 72 66 37 68 71 33 6 50 11 37 5 37 clas
  • 从 PHP 中的平面路径数组构建目录树

    所以 标题可能令人困惑 但我不知道如何表达这种数组结构 它肯定是一个树结构 但至于它的创建 这正是我所渴望的 它似乎不遵循典型的递归数组树构建 我正在尝试从平面路径数组创建列目录布局 每个路径都位于其自己的多维数组内 该数组旨在构建 mac
  • 如何更新 Sencha Touch 中的嵌套列表/树存储?

    我有一个嵌套列表 必须根据用户在 Ext Carousel 中选择的内容填充新数据 TreeStore load newData this does not work TreeStore removeAll this works 似乎文档和
  • 在树结构的 Big-O 表示法中:为什么有些来源引用 O(logN),有些来源引用 O(h)?

    在研究遍历二叉搜索树的任何算法的复杂性时 我看到两种不同的方式来表达同一件事 版本 1 最坏情况下的遍历算法对树的每个高度进行一次比较 因此复杂度是O h 版本 2 最坏情况下的遍历算法对树的每个高度进行一次比较 因此复杂度是O logN
  • GXT 3 中树的单击处理程序?

    我一直在翻阅GXT3 s Tree API http dev sencha com deploy gxt 3 0 0 rc2 javadoc gxt com sencha gxt widget core client tree Tree h

随机推荐

  • 搭建java web开发环境(eclipse)

    引论 工欲善其事 xff0c 必先利其器 xff1b 想要进行web开发就必须有一款顺手的武器 xff0c eclipse作为一款知名的IDE自然是一个不错的选择 准备 eclipse依赖于JDK xff0c 所以我们在安装eclipse之
  • 安装codeblocks(win10)

    下载 进入http www codeblocks org downloads 26 xff0c 选择与你电脑对应的codeblocks版本 xff0c 这里以win10为例 xff0c 下载windows平台的codeblocks 注意要选
  • B - Palindrome-phobia(CODE FESTIVAL 2017 Final)

    题目链接 https cf17 final open contest atcoder jp tasks cf17 final b 解题思路 通过找规律发现出现的次数最多的字符与其他两个字符数量的差不能大于1 AC代码 include lt
  • poj1061青蛙的约会

    题目链接 http poj org problem id 61 1061 题目类型 扩展欧几里得算法 解题思路 设青蛙A为速度快的那只 xff0c 则有 m n t k l 61 y x 令a 61 m n b 61 l c 61 y c则
  • Android Studio中安装Kotlin插件

    http blog csdn net cto 1649900265 article details 72628878 这个链接内介绍了安装Kotlin插件的步骤 步骤 xff1a 在Android Studio中打开Settings xff
  • 骰子的游戏(牛客练习赛7)

    题目链接 https www nowcoder com acm contest 38 A 解题方法 枚举 AC代码 include lt stdio h gt const int maxn 61 10 43 5 int a maxn b m
  • C - Shopping Street(AtCoder Beginner Contest 080)

    题目链接 https beta atcoder jp contests abc080 tasks abc080 c 解题方法 因为一共只有十个时期所以我们可以枚举所有的状态 xff0c 又因为必须有1个时期开放 xff0c 所以我们从1而不
  • 经典OJ推荐

    转载自http acdream info topic tid 61 101 一 Online Judge简介 Online Judge系统 xff08 简称OJ xff09 是一个在线的判题系统 用户可以在线提交程序多种程序 xff08 如
  • 安装Tomcat(win10)

    引论 做web项目已经是一个很常见的事情了 xff0c 而我们完成后的web项目要想发布除了硬件的服务器外还需要相应的服务器软件 xff0c 而Tomcat就是一款web应用服务器 尽管因为Nginx xff08 它的性能是Apache服务
  • org.hibernate.InstantiationException: No default constructor for entity: cn.gov.entity.Book

    出错地方 xff1a org hibernate InstantiationException No default constructor for entity cn gov entity Book 出错原因 xff1a hibernat
  • 牛客练习赛8 D加边的无向图

    题目链接 https www nowcoder com acm contest 39 D 解题思路 利用并查集查找一共有几个独立的集合 xff0c 最后需要的最少边为集合个数减一 AC代码 include lt stdio h gt inc
  • 解决getHibernateTemplate().save ()不能将数据保存到数据库的问题

    原文出自http blog csdn net justerdu article details 50893583 分析 xff1a 数据是保存在缓存中而未提交到数据库中 解决办法 xff1a 在hibernate cfg xml里面加入 h
  • 输入ctrl s终端冻结怎么办

    原文出自http www xshellcn com zhishi sr ztd html 大家有没有发现每当输入ctrl s 就暂停该终端 让人着急万分 xff0c 我相信这是很多xshell的用户都会遇到的一个问题 xff0c 那应该怎么
  • java大数详解

    引论 在算法竞赛中我们经常遇到大数问题 xff0c 例如求一个很大的斐波那契数 住在这种情况下我们用常规解法 xff08 使用long long或long long int xff09 肯定是不行的 xff0c 而我们自己写一个大数的算法又
  • ACM数论模板及应用

    引论 数论是算法竞赛的宠儿 xff0c 几乎每个算法竞赛 xff08 不论是ACM的省赛 区域赛还是牛客网上的网络赛 xff09 都会出一道关于数论的题 这很容易理解 xff0c 因为算法与数学的关系极其密切 xff0c 也可以说算法拼到最
  • 深度神经网络的应用

    深度学习能应用在哪些领域 xff1f 深度学习的快速发展 xff0c 不仅使机器学习得到许多实际的应用 xff0c 还拓展了整个AI xff08 人工智能的 xff09 的范围 它将任务进行拆解 xff0c 使得各种类型的机器辅助变成可能
  • <操作系统>读者写者问题(写者优先)C语言实现

    问题描述 代码 span class token macro property span class token directive keyword include span span class token string lt stdio
  • 二叉树的节点个数以及高度详解(附图解)

    二叉树的节点个数以及高度 文章目录 二叉树的节点个数以及高度前言NO 1 定义链式二叉树NO 2 创建二叉树一 二叉树节点个数1 代码展示2 递归图解 二 二叉树叶子节点个数1 代码展示2 递归图解 三 二叉树第k层节点个数1 代码展示2
  • 使用Github Desktop轻松进行版本管理

    引论 现在git已经成为了主流的版本管理软件 xff0c 然而是不是有一些一看到命令行就头痛的初学者 xff08 比如我 xff09 呢 xff1f 不过好在有着各种各样的图形界面软件可以帮助我们摆脱这一烦恼 xff0c 就比如说githu
  • Leetcode 100. Same Tree

    分析 这道题算是一道关于树的简单题 xff0c 我们需要判断给出的两棵树是否相等 xff0c 分为三步 xff0c 判断当前节点是否相等 xff0c 判断左右子树是否相等 要特别注意一下为NULL的情况 我的代码 span class hl