leetcode100. 相同的树

题目描述

链接: leetcode100.

给你两棵二叉树的根节点 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

题解

判断两颗二叉树是否相同,采用以下逻辑:

  • 深度优先遍历:根节点是否相等,不相等直接返回false,相等递归调用自身继续判断左右节点状态
public class IsSameTree {public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) {this.val = val;}TreeNode(int val, TreeNode left, TreeNode right) {this.val = val;this.left = left;this.right = right;}}public boolean isSameTree(TreeNode p, TreeNode q) {if (p == null && q != null) {return false;}if (p != null && q == null) {return false;}if (p == null) {return true;}if (p.val != q.val) {return false;}return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);}
}

leetcode100. 相同的树相关推荐

  1. LeetCode100 相同的树-简单

    给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同. 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的. 示例 1: 输入:p = [1,2,3], q = [1 ...

  2. leetcode100. 相同的树(dfs)

    给定两个二叉树,编写一个函数来检验它们是否相同.如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的.示例 1:输入: 1 1/ \ / \2 3 2 3[1,2,3], [1,2,3]输 ...

  3. Leetcode100——判断两树相同——c++版本循序渐进学习

    老规矩,还是先贴出题面哦~ 给定两个二叉树,编写一个函数来检验它们是否相同. 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的. 示例 1: 输入: 1 1/ \ / \2 3 2 3 ...

  4. 算法模板-对称性递归

    简介 很多二叉树的题其实都可以通过递归来解决,这些以递归解决二叉树这种对称数据结构的策略,称为对称性递归(symmetric recursion). 对称性递归 对称性递归,指的是对一个对称的数据结构 ...

  5. leetcode (Tree easy)

    leetcode Tree easy # leetcode Tree easy problem class TreeNode(object):def __init__(self,val):self.v ...

  6. 判断两个树是否相等和判断tree1是否包含tree2 python实现

    判断两个树是否相等 def equal(node_a, node_b):"""判断两个树是否相等:param node_a: :param node_b: :return ...

  7. 论文溯源树AMiner

    来自 DBLP.ArXiv.STM 等多家学术出版机构和平台的数据表明,在过去 20 年间,计算机科学.物理学.统计学等研究领域的出版物总量都有大幅增加.像 CVPR.AAAI 等有关人工智能等新兴领 ...

  8. Python---哈夫曼树---Huffman Tree

    今天要讲的是天才哈夫曼的哈夫曼编码,这是树形数据结构的一个典型应用. !!!敲黑板!!!哈夫曼树的构建以及编码方式将是我们的学习重点. 老方式,代码+解释,手把手教你Python完成哈夫曼编码的全过程 ...

  9. 深度树匹配模型(TDM)

    深度树匹配模型(TDM) 算法介绍 Tree-based Deep Match(TDM)是由阿里妈妈精准定向广告算法团队自主研发,基于深度学习上的大规模(千万级+)推荐系统算法框架.在大规模推荐系统的 ...

最新文章

  1. kali linux有线连接不见网络图标不见(解决方案)
  2. 用 openSSL 生成 公钥 私钥
  3. 傻瓜式的php+mysql伪静态(真实存在的html页面)
  4. 每天一小时python官方文档学习(五)————数据结构之元组、集合与字典
  5. Oracle基础语句
  6. 算法应用二:【去除笔迹】+【目标提取】用户选择去除错题本上的红色笔迹,只保留题目并打印出来
  7. AD的小知识贴片的template
  8. 数位 dp 最低位最高位之差绝对值大于2_面试必备——手撕代码(2)“买卖股票的最佳时机”...
  9. 生物信息专业都学些什么编程语言?
  10. ODBC驱动程序丢失解决方法
  11. 财务部计算机操作规程,财务部操作规程.pdf
  12. Android面试:说一下 LiveData 的 postValue ?与SetValue有什么区别?连续调用会有什么问题?为什么?
  13. 系统设计师之路·第二节·看山是山,看水是水——设计师的三种境界
  14. 30 行代码实现蚂蚁森林自动收能量
  15. 考试总结T2(接上次整的T1)
  16. 逆向,真是一件苦差事
  17. 卡尔曼滤波系列——(四)无损卡尔曼滤波
  18. python 02 --python从安装到学习精品网站(廖雪峰官方网站)
  19. 2021-2027全球与中国梨花油市场现状及未来发展趋势
  20. JLINK的SW调试模式连线方式

热门文章

  1. Eclipse使用技巧
  2. 【转载】Apache Ranger剖析:Hadoop生态圈的安全管家
  3. 开发不能上外网怎么查资料_中考生不能复读,近一半上不了高中,怎么办?
  4. apache性能优化
  5. Linux环境中堆栈和堆相关内存损坏的基本原理和调试方法介绍
  6. Jenkins持续集成环境, 如何自定义 maven repositories
  7. 关于垂直切分Vertical Sharding的粒度
  8. 户外驴友必须掌握的登山包的装填和调整
  9. scaleType属性设置!
  10. UVA 10534 Wavio Sequence DP LIS