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

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

示例 1:

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

示例 2:

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

示例 3:

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

提示:

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

代码如下:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {public:bool isSameTree(TreeNode* p, TreeNode* q) {if(p==nullptr && q==nullptr) return true;else if (p==nullptr || q==nullptr) return false;else if (p->val != q->val) return false;else return isSameTree(p->left,q->left) && isSameTree(p->right , q->right);}
};

LeetCode100 相同的树-简单相关推荐

  1. leetcode100. 相同的树

    leetcode100. 相同的树 题目描述 链接: leetcode100. 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同. 如果两个树在结构上相同,并且节点具有相同的值 ...

  2. 线段树简单入门 (含普通线段树, zkw线段树, 主席树)

    线段树简单入门 递归版线段树 线段树的定义 线段树, 顾名思义, 就是每个节点表示一个区间. 线段树通常维护一些区间的值, 例如区间和. 比如, 上图 \([2, 5]\) 区间的和, 为以下区间的和 ...

  3. 线段树-简单线段树模板

    简单线段树 2021年7月30 线段树是干什么的? 更新,维护,查询某区间的某项值,如区间和等. 线段树的原理 与树状数组类似,线段树通过直接建树来保存区间的结点,如图: 如何建图? 下面以求序列区间 ...

  4. B-数,B+树,B*树简单定义

    预防面试的简单定义而已,杠精爱我一次 B-数(Balance tree) B-树也叫 B杠树,(当然,名字是我取的-),因为好多文章叫"B减树"- B杠树是指平衡的多路搜索树,并不 ...

  5. 洛谷【P1873】 砍树 简单二分解析

    题目链接:https://www.luogu.com.cn/problem/P1873 题目描述: 伐木工人米尔科需要砍倒 M 米长的木材.这是一个对米尔科来说很容易的工作,因为他有一个漂亮的新伐木机 ...

  6. mysql 四叉树的应用_树(简单应用-四叉树).ppt

    树的简单应用 四叉树 问题提出 请看这幅图 问题 在上面的这幅图中,总共有1000个小球在做随机移动.如何检测其两两之间是否相撞? 用两重循环,将每个小球取出做检测,如果有1000个小球,没有优化的情 ...

  7. 一键!构建最大似然树~ 简单又准确

    写在前面 很多人都知道"建树",NJ树,最大似然树 - ML,贝叶斯法建树~ 建树的目的常常有两个: 分类 推断演化顺序 其他 - 如分析基因家族扩张收缩等 很多人都会用 mega ...

  8. hdu 3016 Man Down(简单线段树简单DP)

    Man Down Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  9. hdu3016 线段树+简单DP

    以每个方块左右坐标区间为节点建立字典树,每个节点保存这个区间对应的方块的下标,将方块按照高度排序. 如何得到第i个方块可以移动到的两个方块呢?将所有方块排完序,将前i-1个方块放入字典树,根据第i个方 ...

最新文章

  1. 重磅!就在刚刚,吊打一切的 YOLOv4 开源了!
  2. 在Linux上安装Memcached服务(自己测试过了)
  3. ☆☆在Eclipse中编译NDK的so文件(普通安卓项目转换为NDK项目的设定)
  4. svn服务的安装与设置 .
  5. CS224n研究热点11 深度强化学习用于对话生成
  6. java铲车_深入研究Java类装载机制
  7. 如何用hypermesh生成包含interface的流体网格
  8. Rust: r# 原生标识操作符
  9. HTML5和CSS3系列(四):常见样式、背景、Web字体、2D转换、过渡
  10. 你想知道的JPype全在这里∞
  11. java抢红包线段分割法_抢红包算法——线段分割法
  12. ftp服务器文件服务器,ftp服务器和文件服务器的区别
  13. Android Weekly - 42 : 打铁还需自身硬
  14. java8合并两个List
  15. c/c++ int数组初始化/重置为0
  16. [推荐] 经典健康谚语100句
  17. java debug非同期ski,简记kafka group id相同导致的不同consumers启动后不消费和延时消费问题...
  18. HTML5期末大作业:个人网站设计——彭于晏明星(15页)带特效 带登录 带轮播 带音乐 HTML+CSS+JavaScript 大学生毕设网页设计源码HTML (1)
  19. 再探勒索病毒之删除卷影副本的方法
  20. 51单片机驱动HMI串口屏,串口屏的下载方式

热门文章

  1. 【CASS精品教程】CASS 9.2 for AutoCAD2014启动提示文件加载,怎么处理?
  2. C#实现树的双亲表示法
  3. C语言试题四十四之移动一维数组中的内容,若数组中由n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。
  4. linux之tar命令使用总结
  5. 【iVX 初级工程师培训教程 10篇文拿证】05 画布及飞机大战游戏制作
  6. 0运维?微信小程序云开发增删查改【05】
  7. linux中mpich的运行线程,贝叶斯法构建进化树:MrBayes
  8. 这是不是帮女朋友拍照时的你?哈哈哈哈
  9. OpenAI“单手解魔方”被公开质疑,Gary Marcus称七大问题涉嫌误导
  10. 快速成长为数据挖掘高手的秘诀