【问题描述】[中等]

【解答思路】

深度遍历/递归
  • 终止条件与返回值:

当两棵树的当前节点都为 null 时返回 true

当其中一个为 null 另一个不为 null 时返回 false

当两个都不为空但是值不相等时,返回 false

  • 执行过程:当满足终止条件时进行返回,不满足时分别判断左子树和右子树是否相同

时间复杂度:O(N) 空间复杂度:O(1)

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {public boolean isSameTree(TreeNode p, 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);}
}

【总结】

1. 二叉树算法框架
void traverse(TreeNode root) {// root 需要做什么?在这做。// 其他的不用 root 操心,抛给框架traverse(root.left);traverse(root.right);
}
2.常用递归处理 二叉树

[Leetcode][第100题][JAVA][相同的树][二叉树][深度遍历][递归]相关推荐

  1. [Leetcode][第889题][JAVA][根据前序和后序遍历构造二叉树][分治][递归]

    [问题描述][中等] [解答思路] copyOfRange class Solution {public TreeNode constructFromPrePost(int[] pre, int[] ...

  2. [Leetcode][第106题][JAVA][ 从中序与后序遍历序列构造二叉树][分治][递归]

    [问题描述][中等] [解答思路] public class Solution {public TreeNode buildTree(int[] inorder, int[] postorder) { ...

  3. [Leetcode][第95题][JAVA][不同的二叉搜索树 II][递归]

    [问题描述][中等] [解答思路] 1. 递归 复杂度 class Solution {public List<TreeNode> generateTrees(int n) {if (n ...

  4. [Leetcode][第111题][JAVA][BFS][二叉树的最小深度][BFS][递归]

    [问题描述][简单] [解答思路] 1. 递归 自下而上 基本情况/结束条件 : 叶子节点的定义是左孩子和右孩子都为 null 时叫做叶子节点 当 root 节点左右孩子都为空时,返回 1 当 roo ...

  5. 2021年100题Java春招面试题

    2021年100题Java春招面试题 开发技术类 1. 为什么现在函数式编程这么越来越受关注?为什么函数式编程重要?什么时候适用函数式语言? 函数式编程有什么好处,和面向对象比有什么好处,有什么坏处. ...

  6. [Leetcode][第78题][JAVA][子集][位运算][回溯]

    [问题描述][中等] [解答思路] 1. 位运算 复杂度 class Solution {List<Integer> t = new ArrayList<Integer>(); ...

  7. [Leetcode][第79题][JAVA][单词搜索][DFS][回溯]

    [问题描述][中等] [解答思路] 1. DFS繁琐版本 class Solution {public boolean exist(char[][] board, String word) {bool ...

  8. [Leetcode][第40题][JAVA][数组总和2][回溯][剪枝]

    [问题描述][中等] [解答思路] 1. 减法 import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Ar ...

  9. [Leetcode][第216题][JAVA][数组之和3][回溯]

    [问题描述][中等] [解答思路] 回溯 剪树枝 当和超过n 或 个数超过k 1. 正向求和 优化前 class Solution {public List<List<Integer> ...

最新文章

  1. ASP:Literal控件用法
  2. vs怎么设置php文件调试,使用vs code编辑调试php配置的方法
  3. FreeSwitch Sip【转】
  4. mac下server开发环境配置
  5. Google Drive客户端
  6. 通过Spring Social推特StackExchange –第1部分
  7. php版谁是卧底,机器人陪你玩“谁是卧底quot;游戏
  8. python中字符串函数的作用_python 基础学习笔记(2)---字符串功能函数
  9. OpenCV-寻找轮廓cv::findContours绘制轮廓cv::drawContours
  10. php 多级分成手机版,PHP 层级菜单数组处理,由一级数组转换为多级数组的递归实现...
  11. 用OpenCV创建第一个图像
  12. R语言作图入门——软件安装,数据导入
  13. PDF报表生成方式:iText与JasperReport概述
  14. 四、Hibernate框架的API (三)-- Session对象
  15. 【转载】【《Real-Time Rendering 3rd》 提炼总结】(九) 第十章 · 游戏开发中基于图像的渲染技术总结
  16. 85D - Sum of Medians
  17. Linux下useradd与adduser的区别
  18. 集合框架中的共性功能
  19. 科沃斯擦窗机器人向上走不动_ECOVACS 科沃斯 W830 解决高空擦玻璃的难处
  20. Windows 11家庭版

热门文章

  1. ajax设置自定义请求头信息
  2. 部署和调优 3.4 腾讯企业邮箱免费版 未完
  3. 对自己有用的VS调试技巧
  4. 7zip File: How to Uncompress 7z files on Ubuntu, Debian, Fedora
  5. logback AbstractLogstashTcpSocketAppender 源码解析
  6. SpringBoot打包成Docker镜像
  7. mysql保存plc数据_MySQL空间数据的保存
  8. Module build failed (from ./node_modules/sass-loader/lib/loader.js):
  9. html5input表单标签新属性
  10. php 渐变色,段落每行渐变色文本效果