当前位置: 首页 > news >正文

2025年--Lc224--100. 相同的树(递归,dfs,带测试用例)-Java版

1.题目

在这里插入图片描述
在这里插入图片描述

2.思路

(1)考虑两棵树都是null的情况。
(2)考虑两棵树其中1棵树是null的情况。
(3)考虑两棵树一棵是null,一棵树非null的情况。
(4)调用方法递归遍历(p树的左孩子节点,q树的左孩子节点)&&(p树的右孩子节点,q树的右孩子节点。
(5)其他情况直接返回false;

3.代码实现

方法1:带测试用例

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 class isSameTree {public boolean isSame(TreeNode p,TreeNode q){if(p==null&&q==null)//判断结构:两棵树都为null{return true;}if(p==null||q==null)//判断结构:其中一棵树为null{return false;}if(p.val!=q.val)//判断值:两棵树的值{return false;}return isSame(p.left,q.left)&&isSame(p.right,q.right);}public static  void main(String[] args){TreeNode proot=new TreeNode(1);proot.left=new TreeNode(2);proot.right=new TreeNode(3);TreeNode qroot=new TreeNode(1);qroot.left=new TreeNode(2);qroot.right=new TreeNode(3);isSameTree test=new isSameTree();boolean flag=test.isSame(proot,qroot);System.out.println(flag);}}

方法2:不带测试用例

/*** Definition for a binary tree node.* 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;*     }* }*/
class Solution {public boolean isSameTree(TreeNode p, TreeNode q) {if(p==null&&q==null){return true;}else if(p==null||q==null){return false;}else if(p.val!=q.val){return false;}else{if(isSameTree(p.left,q.left)&&isSameTree(p.right,q.right)){return true;}}return false;}
}
http://www.dtcms.com/a/544690.html

相关文章:

  • Python打造美观的桌面温馨提醒弹窗
  • 北京网站制作建设太原it培训机构
  • certbot+shell+阿里云api+k8s实现自动化更新SSL证书
  • Linux小课堂: 系统核心技能与应用总结与进阶指南
  • 前端vue项目在vscode使用插件部署到服服务器的方法
  • 使用Labelimg进行图像标注
  • 【计算机软件资格考试】软考案例分析题及解析模拟题10
  • IoTDA应用侧app开发403报错解决方案
  • 3.1 Lua代码中的元表与元方法
  • Rust——多重借用的冲突解决方案:驾驭Rust借用检查器的艺术
  • kaggle比赛与常用的dash board 3lc
  • 适配器模式:让不兼容的接口协同工作
  • Neo4j中导入.owl数据
  • 应急救援 “眼观六路”:SA/NSA 双模覆盖,偏远灾区也能实时传视频
  • 站长工具短链接生成网站中队人物介绍怎么做
  • 【Spring Boot + Spring Security】从入门到源码精通:藏经阁权限设计与过滤器链深度解析
  • 《嵌入式硬件(十七):基于IMX6ULL的温度传感器LM75a操作》
  • 用 Go 手搓一个内网 DNS 服务器:从此告别 IP 地址,用域名畅游家庭网络!
  • Rust async/await 语法糖的展开原理:从表象到本质
  • Rust 零拷贝技术:从所有权到系统调用的性能优化之道
  • 浪潮服务器装linux系统步骤
  • 视频网站服务器带宽需要多少?视频网站服务器配置要求
  • 《嵌入式硬件(十八):基于IMX6ULL的ADC操作》
  • 注册网站发财的富豪北京公司如何做网站
  • 仓颉语言异常捕获机制深度解析
  • 基于SAP.NET Core Web APP(MVC)的医疗记录管理系统完整开发指南
  • 咖啡网站建设设计规划书wordpress修改首页网址导航
  • C#WPF UI路由事件:事件冒泡与隧道机制
  • 神经网络时序预测融合宏观变量的ETF动态止盈系统设计与实现
  • 分布式Session会话实现方案