相同的树——java

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

解题:如何去判断两棵树相同?根节点相同,左子树相同右子树相同 如果两棵树都为空则它们肯定相同,若一棵树为空则两棵树肯定不相同;若两棵树对应节点都存在且值相同,则两棵树肯定相同。所以要使用递归的思想

java 复制代码
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!=null && q==null)
          return false;
        else{
            if(p.val==q.val)
            {
                return isSameTree(p.left,q.left) && isSameTree(p.right,q.right);
            }
            else
              return false;
        }
 }
相关推荐
Evand J10 小时前
【MATLAB例程】三维A*路径规划与TOA-AOA-TDOA融合定位算法。附下载链接
数据库·算法·matlab
Doubbbbbbble云10 小时前
图算法中的剪枝技术与启发式优化分析4
算法·机器学习·剪枝
鶴哥只手遮天10 小时前
CFL3D深度解析:NASA经典CFD求解器的架构、算法与工程实践
算法
维克兜率天10 小时前
【维克】价差交易实战:配对交易的核心参数设置
大数据·笔记·算法·量化
dtq042410 小时前
数据结构 - 树的概念
c语言·数据结构·学习·算法
晒太羊的猫10 小时前
hot100多维动态规划刷题
算法·动态规划
Dream it possible!10 小时前
LeetCode_热题100_知识点总结
算法·leetcode·职场和发展
鶴哥只手遮天10 小时前
从像素到战场:红外场景仿真引擎的核心技术深度解析
算法
anew___10 小时前
《从零手写操作系统 (19):Ext2文件系统实战——从内存到磁盘的跨越》
java·服务器·前端·数据库·算法
盘古开天166610 小时前
PPO算法原理详解(上):从策略梯度到近端策略优化的演进之路
人工智能·算法·机器学习·强化学习·ppo